以前测试过的正则表达式现在不工作,但在正则表达式测试器中工作
Previously tested Regex is not working now, but works in Regex Tester
我有以下内容:
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
我有以下内容:
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