求一动易系统标签相类似的正则式

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:58:05
在一个ASP程序中有一个标签功能,而且是存在于模板中,如
...{$Menu(可变换的条件)}...
现在我想把这个标签从整个模板中查找出来并用 "可变换的条件" 的条件进行和数据库的交互操作,请问要怎么写这个正则式。
思路,先要找到匹配开头的 {$Menu(
然后匹配"可变换的条件",这里可以是任意字符
最后要匹配结尾的 )}

我对这个不太懂,自己试着写了一下,硬是不行
(\{\$\GetInClassAD)*[.|\\n]*[)}]$
请问要怎么做?

我不懂asp,以正则的方法思考可以这么写:
(?<=\{\$Menu\().*?(?=\)\})
这个表达式可以看成3部分:
1:(?<=\{\$Menu\()
他是寻找“{$Menu(”字符串最后一个字符后边的位置
2:.*?
他是忽略优先匹配你的“可变换的条件”
3:(?=\)\})
寻找“)}”字符串第一个字符前面的位置
需要注意的是反斜杠是转义字符
这个表达式在nfa引擎测试通过,至于转换到asp应该问题不大,你可以试试,注意一下特殊字符的转义就行了