Regex 升华语法正则表达式仅突出显示分隔符内的匹配

Regex 升华语法正则表达式仅突出显示分隔符内的匹配,regex,sublimetext3,syntax-highlighting,Regex,Sublimetext3,Syntax Highlighting,我希望将字符串与出现在指定分隔符内的正则表达式相匹配,但不匹配分隔符本身,以便在升华文本包中突出显示语法。我正在运行ST3 例如,从包中,此元素用于匹配和之间的文本,包括尖括号本身,这会导致突出显示,而不仅仅是 评论 重要的是,被。。。 比赛 (\[^\]*\) 名称 常量.其他.日期.注释 如何修改标记之间的正则表达式,使其在语法突出显示中不包含弯头括号?您可以在环视结构中放置左右分隔符: <string>(?&lt;=&lt;)([^&gt;]*)(?

我希望将字符串与出现在指定分隔符内的正则表达式相匹配,但不匹配分隔符本身,以便在升华文本包中突出显示语法。我正在运行ST3

例如,从包中,此
元素用于匹配
之间的文本,包括尖括号本身,这会导致突出显示
,而不仅仅是


评论
重要的是,被。。。
比赛
(\[^\]*\)
名称
常量.其他.日期.注释

如何修改
标记之间的正则表达式,使其在语法突出显示中不包含弯头括号?

您可以在环视结构中放置左右分隔符:

<string>(?&lt;=&lt;)([^&gt;]*)(?=&gt;)</string>
(?=)([^]*)(?=)
或者,使用CDATA块避免序列化特殊的XML字符:

<string><![CDATA[(?<=<)([^>]*)(?=>)]]></string>
]*)(?=>)]]>

XML解析器反序列化模式字符串后,该模式将看起来像
(?)
,而
(?Try
([\s\s]*?)
(?第一个建议不起作用,但第二个建议成功了一半!XML不喜欢<代码>我明白你的想法,但在后面看的时候,问题是正则表达式不能用引号括起来,XML认为<代码>这非常有效,非常有创意!非常感谢。@tsouchlarakis,这没有那么有创意,我只是对
[^\]
感到困惑,它在文本字符串模式中没有意义,并且看起来有误导性。一旦我意识到它是XML的一部分,它就变得清晰了。实际上,您也可以使用CDATA块:
]*(?=>)]]>
这很有效,我刚刚实现了它。再次感谢你。你能告诉我为什么使用CDATA块更好吗?@tsouchlarakis你不需要序列化
&
<string><![CDATA[(?<=<)([^>]*)(?=>)]]></string>