我有以下内容:
var exp = new Regex("(.+):(.+)-(.+)");
var matches = exp.Matches("AR1:CP1-CP2");
当我转到http://regexstorm.net/tester时,这有效:
而且我确定我有一些正在运行的测试代码......但现在当我在我的C#应用程序中运行它时(这是上面的确切代码)我得到一个匹配,输入字符串和我后来的代码然后崩溃。
我今天在VS 2015上编码,而不是VS2013,我编写了代码,但除此之外我不知所措。有人能想出来吗?
答案 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