之前测试的Regex现在不能正常工作,但可以在Regex Tester中使用

时间:2017-03-08 17:36:27

标签: c# .net regex visual-studio .net-4.5

我有以下内容:

        var exp = new Regex("(.+):(.+)-(.+)");
        var matches = exp.Matches("AR1:CP1-CP2");

当我转到http://regexstorm.net/tester时,这有效:

enter image description here

而且我确定我有一些正在运行的测试代码......但现在当我在我的C#应用​​程序中运行它时(这是上面的确切代码)我得到一个匹配,输入字符串和我后来的代码然后崩溃。

enter image description here

我今天在VS 2015上编码,而不是VS2013,我编写了代码,但除此之外我不知所措。有人能想出来吗?

1 个答案:

答案 0 :(得分:3)

当然你会得到一场比赛。正则表达式只匹配一次。但是,匹配本身有三组(四组,计算整个匹配,隐含组0):

PS Home:\> [regex]::matches('AR1:CP1-CP2', '(.+):(.+)-(.+)')


Groups   : {AR1:CP1-CP2, AR1, CP1, CP2}
Success  : True
Captures : {AR1:CP1-CP2}
Index    : 0
Length   : 11
Value    : AR1:CP1-CP2