【发布时间】:2010-05-26 12:57:36
【问题描述】:
我是正则表达式的新手。
我只需要在一些文本中找到网站,我正在寻找一个能够找出以下字符串的正则表达式:
www.my.home, http://my.site.it
但是这个正则表达式不应该找到像这样的字符串:
地址@my.site.it 或者如果网站已经在 html 标签内
<a href="http://www.my.site.com/">
<span style="font-style: normal;">www.mambo-test.org</span>
</a>
我试过这个:
\b((https?://[^])|(www.[^]))
但它也会在href和标签之间找到网站:
<a href="http://www.my.site.com/">
<span style="font-style: normal;">www.mambo-test.org</span>
</a>
我不知道除了这种情况。
【问题讨论】:
-
您使用的是什么平台?什么语言?
-
如果不想在元素属性内找到模式或在它们之外(即标签之间,作为文本节点),在哪里做 你想找到他们吗?
-
我正在使用 php,客户可以在富文本字段中插入来自 cms 的文本。有时他们会插入一个链接,这很好,但有时他们只插入带有或不带有协议的文本。我认为用 html 链接标记替换这个文本更清楚,我正在寻找一个正则表达式来查找这种类型的文本。
-
我已经替换了链接。很抱歉没有更早地理解您的要求。希望新链接有效。