0

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

好像破解不了 我知道它很简单,但正则表达式不是我的事。

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

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

谢恩

4

2 回答 2

2
^job\s+\d+$

^ 匹配字符串的开头

工作 - 错误..工作

\s+ 一个或多个空格

\d+ 一个或多个数字

$ 字符串结尾

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

^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-05T03:02:47.453 回答
0

它的正则表达式将是^JOB\s\d{5}$其中 5 是整数位数。如果计数不固定,则^JOB\s\d+$

于 2012-05-05T03:07:51.713 回答