Regex Vim:匹配html属性名称
以下语法规则:Regex Vim:匹配html属性名称,regex,vim,Regex,Vim,以下语法规则: " #f6266e syntax match tagOperator "\v\<\/?\w+\s*[^>]*\>" contains=tagFunction,tagFunctionDefinition hi def link tagOperator Operator " #a6e22e syntax match tagFunctionDefinition "\v\<" contained syntax match tagFunctionDefinitio
" #f6266e
syntax match tagOperator "\v\<\/?\w+\s*[^>]*\>" contains=tagFunction,tagFunctionDefinition
hi def link tagOperator Operator
" #a6e22e
syntax match tagFunctionDefinition "\v\<" contained
syntax match tagFunctionDefinition "\v\>" contained
syntax match tagFunctionDefinition "\v/" contained
hi def link tagFunctionDefinition Function
但是什么也没发生,颜色保持不变。我甚至使用了
contains
和contained
,所以我不确定问题出在哪里。tagFunction
regex是否错误?您的模式以一个/
开头(并将第二个/
转义为\/
,这是不必要的);从搜索历史记录中复制时,您可能忘记删除这些内容:
syn match tagFunction "\v\<\/?\w+\s+\w+/?>" contained
你想用正则表达式匹配什么?@JLILIAman我的示例代码
中的HTML属性名称每个,提交。谢谢。你成了我的精神英雄。顺便说一句,我试着这样做:tagAttribute“\w\+\s\+”
只突出显示每个
,onsubmit
。但其他单词也会突出显示(例如,项
)。我注意到,在我包含包含的内容后,您停止使用zs
和ze
。如何只突出显示属性的名称?是否可以有多个属性(foo={bar}hi={ho}
)?然后,最好将模式锚定到=
:tagAttribute“\w\+\ze=“
”之前。您的尝试将匹配(在tagOperator
中)所有后跟空格的单词。哈,您是对的。我写了一些类似的东西。再次感谢。是的,真是巧合。这表明你走对了路!是 啊哇,我从你那里学到了很多关于Regex的知识,比在大学里学到的还多。谢谢
syn match tagFunction "\v\<\/?\w+\s+\w+/?>" contained
:syn match tagAttribute "\w\+={[^}]*}" contained