使用正则表达式在字符串文字中搜索子字符串会产生错误的结果

时间:2018-03-26 06:55:34

标签: regex visual-studio visual-studio-2015

我试图在Visual Studio 2015中找到包含字符序列DMS的字符串文字。为此我使用了这个regualar表达式:

"[^"]*DMS[^"]*"

令我惊讶的是,搜索结果不仅包含正确的匹配,还包含

等命中
/// <param name="context">Service Context.</param>

有人可以解释原因吗?

1 个答案:

答案 0 :(得分:2)

"[^"]*DMS[^"]*"可能会有意外匹配,因为[^"]*可能会跨越多行,请参阅此示例:https://regex101.com/r/fgVpFc/1

一个好的解决方法是将字符类仅限制为您期望的字符,例如: