正则表达式匹配href中的特定位置

时间:2018-05-24 11:33:58

标签: html regex

我有一个场景需要将一些样式属性注入href。

实施例。我需要转变一下:

<a href="https://google.com">Google</a>

进入这个:

<a href="https://google.com" style="color:blue">Google</a>

我需要选择链接的结束引号和<a>的结束括号之间的区域 在上面的例子中:style="color:blue"或插入属性之前,只是字符串中的那个位置。

从我的搜索和在regex101中玩,我可以选择所有内容,直到收尾报价,如下所示:

a\s+(?:[^>]*?\s+)?href=(["'])(.*?)\1

但我需要反过来,我需要选择从引号到结束括号>之前的所有内容Google</a>以注入属性。

不幸的是,正则表达式是我不经常玩的东西所以希望有人可以帮我一把。感谢。

1 个答案:

答案 0 :(得分:1)

为什么不使用css?请将其添加到<head>部分:

<style>
    a {color:blue;}
</style>

或者,如果您必须使用正则表达式,则需要搜索(<a href="[^"]*")>并将其替换为\1 style="color:blue;">(或者对于某些正则表达式引擎,您需要使用$1而不是\1 {1}})。

请参阅regexr.com上的示例here

enter image description here