我好像不能让它起作用。我正在尝试匹配文本"job XXXXXXX“,其中X是一个整数。
似乎不能破解它。我知道这很简单,但正则表达式不适合我。
这就是我正在做的事情。任何帮助都将不胜感激。
^[job\s]([0-9]{7}$)沙恩
发布于 2012-05-05 11:02:47
^job\s+\d+$^匹配字符串的开头
作业- err..job
\s+一个或多个空格
\d+一个或多个数字
$ end字符串
如果你需要这个号码,你可以使用
^job\s+(\d+)$\d+周围的括号将把数字放到一个组中,你可以在比赛结束后引用它。
编辑正则表达式:既然您编辑了原始帖子,那么让我来告诉您编辑后的正则表达式不起作用的原因:
^[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"));发布于 2012-05-05 11:07:52
它的正则表达式将是JOB^\s\d{5}$,其中5是整数中的位数。incase count is not fixed then ^JOB\s\d+$
https://stackoverflow.com/questions/10458450
复制相似问题