我有以下 SyntaxDefinition.xml 文件,用于为 SilverStripe(.ss) 文件创建语法突出显示。但是,我收到以下代码的正则表达式错误:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE syntax SYSTEM "syntax.dtd">
<syntax>
<head>
<name>SilverStripe Syntax</name>
<charsintokens><![CDATA[_0987654321abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@]]></charsintokens>
</head>
<states>
<default id="Base" color="#000">
<state id="String" color="#760f15">
<begin><regex>"</regex></begin>
<end><regex>(((?<!\\)(\\\\)*)|^)"</regex></end>
</state>
<state id="Variable" color="#ff0000">
<begin><regex>^\$([a-z])(?:)</regex></begin>
<end><regex>[\n\r]</regex></end>
</state>
<import mode="PHP-HTML"/>
</default>
</states>
</syntax>
我希望此代码的“变量”部分为任何以美元符号开头的代码着色,例如 $Content。