首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有所有属性的锚点标记的正则表达式

具有所有属性的锚点标记的正则表达式
EN

Stack Overflow用户
提问于 2012-02-06 17:56:18
回答 7查看 30.6K关注 0票数 11

我正在尝试获取一个正则表达式来替换文本字符串中的所有链接作为链接值。

链接可能如下所示:

代码语言:javascript
复制
<a href="http://whatever" id="an_id" rel="a_rel">the link</a>
<a href="/absolute_url/whatever" id="an_id" rel="a_rel">the link</a>

我需要一个我得到的正则表达式:the link

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-02-06 18:01:01

代码语言:javascript
复制
/<a[^>]*>([^<]+)<\/a>/g

它远不是完美的,但你需要提供更多的例子来说明什么是正确的匹配,什么不是(例如,空格呢?)

票数 31
EN

Stack Overflow用户

发布于 2014-11-06 02:38:58

代码语言:javascript
复制
/<a[\s]+([^>]+)>((?:.(?!\<\/a\>))*.)<\/a>/g

此标记将匹配任何<a ...>...</a>标记,包括正确匹配的包含<或任何完整标记的标记,例如:

代码语言:javascript
复制
blah blah <a href="test.html">This line contains an HTML opening < bracket.</a> blah blah
blah blah <a href="test.html">This line contains <strong>bold</strong> text.</a> blah blah

将捕获:

代码语言:javascript
复制
<a href="test.html">This line contains an HTML opening < bracket.</a>

带有捕获组的

    • href="test.html"
    • This line contains an HTML opening < bracket.

代码语言:javascript
复制
<a href="test.html">This line contains <strong>bold</strong> text.</a>

带有捕获组的

    • href="test.html"
    • This line contains <strong>bold</strong> text.

它还包括捕获标签属性(如class="“、href="”等)和contain (标签之间的内容)的组,如果您不需要它们,可以将其删除。

如果要跨多行捕获,请在末尾的"g“标志之前或之后添加"s”。请注意,"s“标志可能并不适用于所有类型的正则表达式。

捕获示例(未使用"s“标志- regexr尚不支持):http://regexr.com/39rsv

票数 20
EN

Stack Overflow用户

发布于 2016-07-06 02:09:32

只是从公认的答案中稍作更正。这是正确的正则表达式:/<a[^>]*>([^<]+)<\/a>/g。用于结束锚点标记</a>的正斜杠(/)未转义,因此将不会进行匹配。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9158346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档