阅读此vim plugin我看到这一行:
syntax match tweeDelimiter "[<<|>>|\]\]|\[\[]"
对我来说,当它被[]
包围时,正则表达式没有多大意义。根据{{3}},“POSIX括号表达式匹配一组字符中的一个字符”。
所以这不匹配&lt;或者&gt;还是[或]?我从上下文中知道它正在尝试匹配&lt;&lt;或&gt;&gt;或[[或]]。
答案 0 :(得分:1)
这确实看起来像是插件中的一个错误。如果要匹配这些字符的对,则必须使用普通的 regexp分支(\|
),而不是集合:
<<\|>>\|\]\]\|\[\[
如果还有其他匹配的内容,则必须在\%(...\)
中包含以上内容才能对其进行分组。但是,使用[...]
将匹配所包含字符的任何; Vim只是忽略了重复的那些。正如其他人已经评论过的那样,可以用更短的形式写出来,例如[][<>|]
。
因此,如果该插件确实错误地匹配了<>
和<[
之类的内容,而不仅仅是<<
和[[
,请告知其作者有关该错误。