Regex Alternation返回字符串

时间:2010-02-11 16:55:12

标签: c# regex

除了使用交替使用正则表达式捕获组之外,我一直在拼命地返回文本字符串。这就是我所拥有的;

(?<make>(?:\w*|\w*\s\w*));(?<score1>\d{1,2});(?<score2>\d{1,2});(?<model>\w{1,})(?(model)No|Yes)

我的数据;

Austin;1;2;Taxi
Audi;2;4;Quattro
BMW;4;5;M3
Ferrari;10;10;F40
Fiat;4;2;Panda

所有捕获组都可以正常工作,但是当我添加交替语句(?(model)No|Yes)时,它会失败,并且不会返回任何内容。我有点卡住并试图以多种方式重新排列表达式,应用程序Expresso说声明的最后一部分是带有yes和no子句的条件表达式,“名为[model]的捕获是否匹配?”

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

替换语句表示:如果指定的组model已匹配,则尝试匹配No,如果尚未匹配,则尝试匹配Yes。两者都失败的原因很明显。你打算如何改变交替?