Coda的语法模式不起作用-Regex问题



我有以下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>(((?&lt;!\)(\\)*)|^)"</regex></end>
            </state>
            <state id="Variable" color="#ff0000">
                <begin><regex>^$([a-z])(?:)</regex></begin>
                <end><regex>[nr]</regex></end>
            </state>
            <import mode="PHP-HTML"/>
        </default>
    </states>
</syntax>

我希望此代码的"变量"部分为任何以美元符号开头的代码着色,例如$Content。

尝试:

 <begin><regex>^$[^rn]+</regex></begin>

<begin><regex>^$</regex></begin>

取决于它的工作方式

我发现了一段似乎有效的代码:

<regex>($([wd])+)</regex>

最新更新