![](/img/trans.png)
[英]C# Regex - Match specific string followed by a substring1 or substring2
[英]Regex in C#: match string thats preceded and/or followed by “_” or “ ” or “”
假設我有一個像“ aus”的詞,我想用“ off”代替它的所有出現。 然后,我還想找到它的所有可能的拼寫,例如“ AU”,“ aUs”,“ AUS”等等。 但重要的是,只有當它“單獨站立”時才被替換,因為它只有空格,下划線(_)或前后沒有空格,因此應在其中替換
" aus"
"aus"
"_aus"
"_aus_"
"aus_"
但不在
"ausschalten"
"aushebeln"
" ausschalten"
我嘗試了^(_| )(A|a)(U|u)(S|s)(_|)$
但是它不能正常工作:/
您可以使用RegexOptions.IgnoreCase
和RegexOptions.IgnoreCase
標志(或其內聯版本(?i)
):
@"(?i)(?<![\w-[_]])aus(?![\w-[_]])"
說明 :
(?<![\\w-[_]])
-檢查在aus
之前是否沒有數字或字母字符(使用字符類減法 ,我從\\w
類中刪除了_
) aus
文字字符序列aus
(?![\\w-[_]])
-檢查aus
之后是否沒有字母或數字。 \\p{L}
(任何Unicode基本字母)和\\p{N}
(任何數字)的更簡單替代方法 :
(?i)(?<![\p{L}\p{N}])aus(?![\p{L}\p{N}])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.