[英]Exclude match in Regular Expression
是否可以忽略正則表達式中的特定匹配項?
例如:
我有以下正則表達式:
^[0-9]{2}$
但是我不想匹配特定的字符串,比如說“ 12”。
我想我正在尋找類似於and運算符的正則表達式,但是還沒有在.NET / C#中找到類似的東西。
我希望在正則表達式本身中執行此操作。 有什么建議或建議嗎?
^[0-9]{2}(?<!12)$
或相反:
^(?!12)[0-9]{2}$
請注意,在這種特定情況下,否定1個特定匹配很容易。 有時不是,有時(幾乎)不可能,取決於正則表達式。
您最好執行以下操作:
if (Regex.IsMatch(MyString, @"^[0-9]{2}$") && MyString != "12")
{
// Do something
}
正則表達式非常強大,但重要的是要知道何時不使用它們:)
您可以使用以下難看的regexp:
^([02-9][0-9] | [1][013-9])$
翻譯成普通英語,它的意思是“不以1
開頭的兩位字符串,或以1
開頭但第二位不帶有2
的兩位字符串”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.