使用正则表达式创建自己的短标签?

时间:2011-11-14 13:36:32

标签: regex tags

假设我有以下短标签正则表达式:

\[BANNER{([0-9]*)}{(site1|site2)}{([A-Z]*)}\]
基本上,我有一个应该使用这个短标签的CMS,例如:

[BANNER{23}{site1}{HELLO}]

并打印出类似这样的内容:

<a href='http://site1.com?par1=23&par2=HELLO'>SOME TEXT</a>

现在,每当我输入所有这3个参数时,它都能很好地工作,但我怎样才能使它们可选? 这样它就会接受以下任何选项:

[BANNER]
[BANNER{23}]
[BANNER{23}{site1}]

并输出默认值,我想在每个花括号{}上创建一个捕获组 - 但我想我的语法错了。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你可以从

开始
\[BANNER({([0-9]*)})?({(site1|site2)})?({([A-Z]*)})?\]

答案 1 :(得分:2)

这个应该有效:

/\[BANNER{([0-9]*)}(?:{(site1|site2)})?(?:{([A-Z]*)})?\]/

查看结果here