RegEx从自定义标记中提取URL,目标和链接

时间:2011-01-25 08:58:31

标签: regex

我确信这很简单,但我无法理解。

我想从此

中提取网址,目标和链接
Example:
[http://www.testdomain.com/blog/122_Blog Post.aspx _blank]Click here![/]

我试过这个:

\[(.*) (.*)\](.+?)\[\/\]

只要我在网址后面有_blank_self,就会有效,但如果我将其全部删除,我会将Post.aspx作为目标(当然)。

我也试过像(_blank)?这样的东西,但这根本不起作用。

请帮助,RegEx真的不是我的事,并随意提出其他改进建议。它不一定是万无一失的,我只是想保持简单。

谢谢!

2 个答案:

答案 0 :(得分:2)

\[(.*?) ?(_[\w\d]+)?\](.+?)\[\/\]

你的正则表达式中的第一个(.*)是贪婪的,需要不情愿(.*?)

与正则表达式有贪婪,不情愿和占有欲的限定词。贪婪是最常见的,但有些特殊情况需要不情愿或占有欲的限定词。

检查此链接以测试正则表达式 http://www.rubular.com/r/lszC0EWaWM

答案 1 :(得分:1)

试试这个:

\[(.*?)(?: (_blank|_self))?\](.+?)\[\/\]