注意力!这与正则表达式问题无关,匹配整个字符串而不是部分
大家好。我试着做
Match y = Regex.Match(someHebrewContainingLine, @"^.{0,9} - \[(.*)?\s\d{1,3}");
除了其他 VS 希伯来语怪癖(在编辑字符串时,您如何将 ] 替换为 [ ?),它偶尔会返回疯狂的结果:
Match.Captures.Count = 1;
Match.Captures[0] = whole string! (not expected)
Match.Groups.Count = 2; (not expected)
Match.Groups[0] = whole string again! (not expected)
Match.Groups[1] = (.*)? value (expected).
Regex.Matches()
以同样的方式行事。
这种行为的一般原因是什么?Regex.Match("-היי45--", "-(.{1,5})-")
注意:在简单的测试字符串(例如(示例显示不正确!,请查看页面的源代码))上,它不会以这种方式起作用,正则表达式一定有一些东西使它变得贪婪。匹配的字符串包含[ .... ]
,但简单地将它们添加到测试字符串不会产生相同的效果。