正则表达式匹配和使用组提取

时间:2017-09-01 03:21:01

标签: c# regex

我想匹配“1)异常信息”或“2)异常信息”并使用正则表达式匹配和分组提取数字

我正在使用

Regex.Match("1) Exception Information", @"\d[) Exception Information]").Groups[0].Value

但这会让我“1)”而不是“1”

1 个答案:

答案 0 :(得分:1)

以下代码行将按您的意图执行:

\d[) Exception Information]

您当前的正则表达式模式存在问题:

[) Exception Information]

这将匹配单个数字,然后是来自括号中的以下字符集的单个字符:1。在原始字符串中,1)后面的括号会匹配,因此您的匹配将返回(\d)

另一个注意事项,我在更正的模式中使用Groups[1],它将匹配并捕获该单个数字。然后,要访问第一个(也是唯一的)捕获组,我们可以使用Groups[0]。 {{1}}将返回整个匹配的模式,在这种情况下,它与输入字符串重合。

在这里演示:

Rextester