如何使用正则表达式找到每个短代码标签的出现?

时间:2015-05-25 13:12:34

标签: regex

我正在使用以下正则表达式来查找每次出现的短代码:

\[div([^\]]*)\]([^\£]*)\[\/div\]

测试字符串:

[div w="6"]<div>test text</div>[/div][div w="3"]2[/div][div w="3"]3[/div]

但我只能找到最长的路径。

基本上我想从内容中提取出现的每一个短代码标签。

Demo

2 个答案:

答案 0 :(得分:1)

你需要使用非贪婪的正则表达式。

\[div([^\]]*)\](.*?)\[\/div\]

DEMO

答案 1 :(得分:1)

\[div[^\]]*\]([^\£]*?)\[\/div\]

                    ^^ 

试试这个。看看演示。

https://regex101.com/r/eU3mK9/4