我需要一個正則表達式模式(必須是單個模式)以匹配任何包含數字的文本,排除特定文字(即「SomeText1」)。正則表達式:必須包含一個數字,不包括「SomeText1」
我有比賽包含許多部分的任何文字:
^.*[0-9]+.*$
但我有排除特定文字的問題。
更新:這是用於.NET Regex的。
在此先感謝。
我需要一個正則表達式模式(必須是單個模式)以匹配任何包含數字的文本,排除特定文字(即「SomeText1」)。正則表達式:必須包含一個數字,不包括「SomeText1」
我有比賽包含許多部分的任何文字:
^.*[0-9]+.*$
但我有排除特定文字的問題。
更新:這是用於.NET Regex的。
在此先感謝。
作爲一個詳細的正則表達式:
^ # Start of string
(?=.*[0-9]) # Assert presence of at least one digit
(?!SomeText1$) # Assert that the string is not "SomeText1"
.* # If so, then match any characters
$ # until the end of the string
如果您正則表達式的味道不支持那些:
^(?=.*[0-9])(?!SomeText1$).*$
@Tim Pietzcker - 謝謝,但這應該匹配「SomeText1234」和「1234SomeText1」,但不會。 –
哦,那麼'SomeText12'沒問題,只有'SomeText1'不是?沒問題。將編輯。 –
@Tim Pietzcker - 是的,抱歉,那不清楚。 –
使用負前瞻:
^(?!.*?SomeText1).*?[0-9]+.*$
在哪種語言是你寫作?有時正則表達式的語法可能會因語言而異。 – NickAldwin
@NickAldwin - 謝謝,我已經更新了OP。 –