我有以下内容:
var exp = new Regex("(.+):(.+)-(.+)");
var matches = exp.Matches("AR1:CP1-CP2");
当我转到 http://regexstorm.net/tester 时这有效:
而且我确信我有一些测试代码可以正常工作...但是现在当我在我的 C# 应用程序中运行它时(这是上面的确切代码)我得到了一个匹配项、输入字符串和我后来的代码然后崩溃。
我今天在 VS 2015 上编码,而不是我编写代码时使用的 VS2013,但除此之外我不知所措。谁能解决这个问题?
请您参考如下方法:
当然你会得到一场比赛。正则表达式只匹配一次。然而,匹配本身有三个组(四个,算上整个匹配,隐式为第 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
