正则表达式捕获特定的短代码

时间:2013-11-13 13:51:17

标签: regex

我需要匹配[tp lang="en"(Anything Here)[/tp]

到目前为止,我有以下内容,但如果一行中有两个短代码,则会从第一次[tp lang="en"返回到该行的最后一个[/tp]

\[tp lang="en"(.*)\[/tp\]

如何修改上述正则表达式以匹配该行的第一个[tp lang="en"第一个 [/tp]

1 个答案:

答案 0 :(得分:2)

您需要添加一个非贪婪的运算符。

\[tp lang="en"(.*?)\[/tp\]

编辑:短代码不应该有一个结束括号吗?

[tp lang="en"](Anything Here)[/tp]
             ^Here

如果是,那么它将是

\[tp lang="en"\](.*?)\[/tp\]