哦,我很难理解我在这里做什么。
我正在创建一个自定义的记事本++ FunctionList。我知道如何添加它,并且正在解析,但是我无法从文档中弄清楚如何正确指定正则表达式。
在我的代码文件(对于一个名为Squiffy的程序)中,它包含一些节,有点像.ini文件,因此我首先复制了ini文件的功能列表代码。
我正在寻找像这样的部分: [[something]]:
在它自己的行上,以及像这样的子部分:[somesubsection]:
。
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<functionList>
<!-- File format used for: .sq -->
<parser displayName="Squiffy" id="Squiffy"
commentExpr=""
>
<function mainExpr=mainExpr="^\[\[.*\]\]\:$" >
<functionName>
<nameExpr expr="^\[\[.*\]\]*"/>
</functionName>
</function>
</parser>
</functionList>
</NotepadPlus>
我的问题是,我真的不明白是什么mainExpr
和nameExpr
应该寻找。我知道我可以在其中找到带有正则表达式的部分mainExpr
,但是我不确定该如何处理nameXpr
。
嗯 没有人有话要说!因此,我在notepad ++论坛上发布了此解决方案的来源:
<parser
id="Squiffy" displayName="Squiffy" commentExpr=""
>
<function
mainExpr="(?-s)^\[(?:\[([^\[\]\r\n]+)\]|(?1))\]:"
>
<functionName>
<nameExpr expr="[^\[\]\r\n]+" />
</functionName>
</function>
</parser>
而这里是描述一个线程刚记事本++ functionlists配置。