下划线是否意味着c#regex中的特殊内容?

时间:2014-10-01 10:17:45

标签: c# regex

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

HHA_HG

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

然而

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

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

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

下划线是否意味着什么特别的东西?

1 个答案:

答案 0 :(得分:2)

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