有没有办法在vim正则表达式中允许\ w内部字符集?

时间:2014-05-21 11:55:43

标签: regex vim

对不起,这是一个非常简单的问题,但我无法有效地谷歌。

基本上,我希望:s/\v\w+/foo/的行为与:s/\v[\w]+/foo/相同,但后者将\w置于字符集中与任何内容都不匹配。

是否有启用此功能的标志?这不受支持吗?

谢谢并抱歉这个简单的问题。顺便说一下,我知道[:alnum:]以及我可以使用[a-zA-Z]或类似的东西(可能带有下划线,我记不起来),但是正在寻找一种使用一致的方法,快速记谱法。

1 个答案:

答案 0 :(得分:7)

不,你不能。您会在:help /[处找到该信息,实际上在:help /\]附近:

  - The following translations are accepted when the 'l' flag is not
    included in 'cpoptions' {not in Vi}:
    ...
    NOTE: The other backslash codes mentioned above do not work inside
    []!

\w的等效代码为[_[:alnum:]]。您还可以将\w与一个集合合并,如下所示:\%(\w\|[...]\)