试图与正则表达式匹配但失败

时间:2011-09-04 18:07:50

标签: c# regex

我正在尝试匹配以下内容:

Which of the following formulas are correct?

使用:

Regex = @"Which (of the following )?(((is)|(is a)|(are)) correct)(?<result>.*?)[?:]"

但它不匹配。我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

尝试添加与输入字符串的formulas部分匹配的子模式:

Which (of the following )?(formulas )?(((is)|(is a)|(are)) correct)(?<result>.*?)[?:]
                          ^^^^^^^^^^^^

更新:如果您想匹配任何字而不只是formulas,请替换指定的子模式:

(\w+ )?

大致意思是“一个或多个单词字符,后面跟一个空格;或者什么也没有。”

请查看MSDN页面Regular Expression Language Elements。它解释了构成.NET正则表达式模式的基本构建块。