我似乎无法让这个工作。我正在尝试匹配文本“作业XXXXXXX”,其中X是一个整数。
似乎无法破解它。我知道它很简单,但正则表达式不是我的事。
这是我正在使用的内容。任何帮助将不胜感激。
^[job\s]([0-9]{7}$)
沙恩
答案 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 + $