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

Search for substring in string literal using regular expressions gives wrong results

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

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

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

的匹配项
/// <param name="context">Service Context.</param>

有人可以解释为什么吗?

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

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