如何在Mercurial提交消息中查找完整单词?
仅匹配完整单词“foo”的hg log命令用法
默认的hg log -k 'foo'会匹配所有包含“foo”子串的提交,比如“foobar”“barfoo”都会被命中。要只匹配作为完整独立单词的“foo”,可以利用Mercurial支持正则表达式的特性,使用正则的单词边界\b来限定匹配范围:
- 直接使用正则匹配命令:
hg log -k '\bfoo\b' - 如果在bash等会解析反斜杠的shell中,需要转义反斜杠,或者显式指定正则模式:
hg log -k '\\bfoo\\b' # 或者显式添加--regexp选项更清晰 hg log --regexp -k '\bfoo\b'
原理说明
\b是正则表达式中的单词边界,它匹配的是“单词字符(字母、数字、下划线)”与“非单词字符(空格、标点、字符串首尾)”之间的位置。通过\bfoo\b,就能确保“foo”是作为独立完整的单词出现在提交消息中,不会被包含在更长的字符串里。
内容的提问来源于stack exchange,提问作者August Karlstrom
相关产品推荐
相关产品推荐

