Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Vim:匹配html属性名称_Regex_Vim - Fatal编程技术网

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