【发布时间】:2018-04-09 00:03:25
【问题描述】:
要匹配整个单词,正则表达式 \bword\b 就足够了。然而下面的代码总是返回 0 个匹配项
try {
string pattern = "\bhtml\b";
Regex wordRegex = new Regex (pattern, RegexCompileFlags.CASELESS, RegexMatchFlags.NOTEMPTY);
MatchInfo matchInfo;
string lineOfText = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
wordRegex.match (lineOfText, RegexMatchFlags.NOTEMPTY, out matchInfo);
stdout.printf ("Match count is: %d\n", matchInfo.get_match_count ());
} catch (RegexError regexError) {
stderr.printf ("Regex error: %s\n", regexError.message);
}
这应该可以作为测试 \bhtml\b 模式在测试引擎中返回一个匹配所提供字符串的匹配项。但在这个程序上,它返回 0 个匹配项。代码错了吗? Glib 中的什么正则表达式会用于匹配整个单词?
【问题讨论】: