语法高亮需要使用正则表达式来匹配高亮的对象,但是检查语法高亮的语法(应该是html?)是否正确的判定存在误杀。
符号“<”后无法使用正则表达式的大部分符号,如<=、<.、<\、<[都会报错:
“加载高亮语法规则失败,名称不能以“=”字符(十六进制 0x3D)开头。”
这个报错应该是来自于语法高亮的语法检测的?对于<>中的第一个字符不能是这些字符。但是这会导致语法高亮中使用的正则表达式也被报错,如:
(?<=[0-9])[0-9]
[0-9]\<[0-9]
\<.+\>
\<\\\>
都会被报错。
目测这里应该是使用了正则表达式来判定:\<(\=|\.|\\|\[)
如果没有其他的方案,能不能改成\<(\=|\.|\\|\[)(?=.*\>$)呢?这样只有在行尾有>的时候才报错,而对于正则表达式来说,行尾有>的情况较少,即便有,也能在>后添加$或\n之类的来避免被报错。