2011-06-30 39 views
1

我需要一個正則表達式模式(必須是單個模式)以匹配任何包含數字的文本,排除特定文字(即「SomeText1」)。正則表達式:必須包含一個數字,不包括「SomeText1」

我有比賽包含許多部分的任何文字:

^.*[0-9]+.*$ 

但我有排除特定文字的問題。

更新:這是用於.NET Regex的。

在此先感謝。

+0

在哪種語言是你寫作?有時正則表達式的語法可能會因語言而異。 – NickAldwin

+0

@NickAldwin - 謝謝,我已經更新了OP。 –

回答

5

作爲一個詳細的正則表達式:

^    # 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$).*$ 
+0

@Tim Pietzcker - 謝謝,但這應該匹配「SomeText1234」和「1234SomeText1」,但不會。 –

+0

哦,那麼'SomeText12'沒問題,只有'SomeText1'不是?沒問題。將編輯。 –

+0

@Tim Pietzcker - 是的,抱歉,那不清楚。 –

0

使用負前瞻:

^(?!.*?SomeText1).*?[0-9]+.*$ 
相關問題