正则表达式:必须包含数字,不包括“SomeText1”

时间:2011-06-30 21:09:46

标签: c# .net regex

我需要一个正则表达式模式(必须是单个模式)来匹配包含数字的任何文本,不包括特定的文字(即“SomeText1”)。

我匹配包含数字部分的任何文本:

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

但是在排除特定文字时遇到问题。

更新:这适用于.NET Regex。

提前致谢。

2 个答案:

答案 0 :(得分: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$).*$

答案 1 :(得分:0)

使用负面预测:

^(?!.*?SomeText1).*?[0-9]+.*$