正则表达式匹配字符串“job XXXXXXX”

时间:2012-05-05 03:00:49

标签: .net regex

我似乎无法让这个工作。我正在尝试匹配文本“作业XXXXXXX”,其中X是一个整数。

似乎无法破解它。我知道它很简单,但正则表达式不是我的事。

这是我正在使用的内容。任何帮助将不胜感激。

^[job\s]([0-9]{7}$)

沙恩

2 个答案:

答案 0 :(得分:2)

^job\s+\d+$

^匹配字符串的开头

job - err..job

\ s +一个或多个空格

\ d +一个或多个数字

$ end of string

如果您需要该号码,可以使用

^job\s+(\d+)$

围绕\ d +的parens会将数字放入一个你可以在比赛后引用的组中。

修改:由于您修改了原始帖子,请告诉您编辑后的正则表达式无效的原因:

^[job\s]([0-9]{7}$)

正则表达式中的[]创建一个字符集。这意味着正则表达式试图匹配字母j 字母o 字母b 一个空格字符,然后是一个数字。

编辑2

匹配如下字符串:

string x = @"Please refer to job 1000000 for more information";

你需要一个略有不同的正则表达式。您不希望使用^来匹配字符串的开头,或者使用$来匹配结尾,因为这显然与整行不匹配。

相反,你会想做这样的事情:

Console.WriteLine(Regex.Replace(x,@"job\s+(\d+)","REDACTED!!"));

如果您想参考替换中的数字,您可以执行以下操作:

Console.WriteLine(Regex.Replace(x, @"job\s+(\d+)", "Super Awesome Job: $1"));

答案 1 :(得分:0)

正则表达式为 ^ JOB \ s \ d {5} $ 其中5是整数位数。 incase count不固定,然后 ^ JOB \ s \ d + $