regex.matches 不匹配
regex.matches notmatching
我尝试这样做了 5 个小时,我绝望了,我会发疯的。
请帮助我。
var start = new List<string>( ) {"Report", "Audit" , "Committee" } ;
string expresss= start[0] + @"(.*?)\n{0,1}(.*?)" + start[1] + @"(.*)$";
MatchCollection matches = Regex.Matches(text, "(?im)"+ expresss );
此代码无法找到“"REPORT OF THE AUDIT COMMITEE"”
但在这里可以使用 sublime text3 的正则表达式找到它。
请帮助我通过 C# 正则表达式代码找到“"REPORT OF THE AUDIT COMMITEE"”。
谢谢。
看起来这既是区分大小写的事实,也是您没有跨多行匹配正则表达式的事实(感谢@stribizhev 发现了这一点)。
使用:
MatchCollection matches = Regex.Matches(text, "(?im)"+ expresss,
RegexOptions.Multiline | RegexOptions.IgnoreCase );
我无法从上下文中判断,但可能也值得考虑使用 RegexOptions.CultureInvariant
是否也合适。
编辑:好的,我不知道 C# 可以使用 (?im) 进行大小写 + 多行匹配。在那种情况下,如果 (?im) 没有,则不确定这对您有用。我只是取消了我的测试选项,让 (?im) 保持打开状态,它确实匹配。
我尝试这样做了 5 个小时,我绝望了,我会发疯的。 请帮助我。
var start = new List<string>( ) {"Report", "Audit" , "Committee" } ;
string expresss= start[0] + @"(.*?)\n{0,1}(.*?)" + start[1] + @"(.*)$";
MatchCollection matches = Regex.Matches(text, "(?im)"+ expresss );
此代码无法找到“"REPORT OF THE AUDIT COMMITEE"”
但在这里可以使用 sublime text3 的正则表达式找到它。
请帮助我通过 C# 正则表达式代码找到“"REPORT OF THE AUDIT COMMITEE"”。 谢谢。
看起来这既是区分大小写的事实,也是您没有跨多行匹配正则表达式的事实(感谢@stribizhev 发现了这一点)。
使用:
MatchCollection matches = Regex.Matches(text, "(?im)"+ expresss,
RegexOptions.Multiline | RegexOptions.IgnoreCase );
我无法从上下文中判断,但可能也值得考虑使用 RegexOptions.CultureInvariant
是否也合适。
编辑:好的,我不知道 C# 可以使用 (?im) 进行大小写 + 多行匹配。在那种情况下,如果 (?im) 没有,则不确定这对您有用。我只是取消了我的测试选项,让 (?im) 保持打开状态,它确实匹配。