正则表达式:在一段文本中查找BB代码

时间:2010-01-05 20:03:06

标签: regex bbcode

我正在尝试在随机文本中匹配“url”BB代码标记。示例文本:

  

Lorem ipsum dolor坐下来,精神上的精神。 [url] http://www.google.com[/url] Donec purus nunc,rhoncus vitae tempus vitae,[url = www.facebook.com] facebook [/ url] elementum sit amet justo。

我想从此文中找到两个“url”标记:

  • [url]http://www.google.com[/url]
  • [url=www.facebook.com]facebook[/url]

我对正则表达式不是那么好,所以这是我能得到的:

\[url(=[a-z]*)?\][a-z]*\[/url\]

我认为我只需要用除了字符'['和']'之外的任何内容匹配的东西替换[a-z]。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

以下表达式应该为您做到

\[url(=(.*?))?\](.*?)\[\/url\]

答案 1 :(得分:1)

((\[url\].*?\[/url\])|(\[url=.*\](.*?)\[/url\]))

将拉出两个结果。