下划线在c#regex中是否有特殊含义

本文关键字:是否 c#regex 下划线 | 更新日期: 2023-09-27 18:25:08

我正在尝试在HTML文件中搜索特定字符串。我要找的字符串是

HHA_HG

如果我使用记事本,我可以看到字符串在文件中只存在一次。

然而

MatchCollection matches = Regex.Matches(inputString, "HHA_HG");

不返回匹配项。我验证inputString是否包含我想要的字符串。

奇怪的是,如果我删除除了包含HHA_HG的行之外的所有行,我就可以得到匹配。如果我只是在完整文件中搜索HHA_,我可以得到匹配项,尽管没有匹配项是HHA_HG。

下划线有什么特别的意思吗?

下划线在c#regex中是否有特殊含义

不,它不是。那应该没问题。可能的解释是:在源代码或正则表达式模式中是否存在不可见的unicode字符?或者替代"看起来像A但不是A"unicode字符?基本上,regex模式和文件(在适当的位置)中的实际char值是多少?文件中的HHA_HG是否实际上在RTL块中,并且实际上是GH_AHH?