【发布时间】:2014-07-13 11:46:09
【问题描述】:
我正在为 Notepad++ 编写一个函数列表解析器来添加对 Nasal 的支持。
我正在使用以下正则表达式:
^[\t ]*(var[\n\s]+)?([_A-Za-z]?[\w_]*)[\n\s]*=[\n\s]*func[\n\s]*(\([^\)\(]*\))?:Debuggex Demo
...匹配这两种类型的有效声明:
foo = func...var foo = func...
为了进一步从这个正则表达式的匹配中提取函数名foo,我能想到的最好的方法是:
(var[\n\s]+)?([_A-Za-z]?[\w_]*):Debuggex Demo
根据具体情况,使用此匹配“foo”或“var foo”。什么是正则表达式可以忽略子字符串var[\n\s]+]的存在,所以它只为函数列表提取“foo”?
非常感谢。
【问题讨论】: