0

我有这种模式可以使 url 可点击,现在在我的文本中有<br />and <BR />,如果链接后跟 br,则模式包括<br /><BR />在链接中,我怎样才能在这种模式中排除它们:

replacePattern1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;

这是使用该模式的代码:

replacedText = inputText.replace(replacePattern1, '<a href="$1" target="_blank">$1</a>');
4

1 回答 1

0

正则表达式模式

(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])(?:<[bB][rR]\s?\/?>)*

替换模式

<a href="$1" target="_blank">$1</a>

输入

http://www.stackoverflow.com<br>
http://www.stackoverflow.com<br/>
http://www.stackoverflow.com<br />
http://www.stackoverflow.com<BR>
http://www.stackoverflow.com
http://www.stackoverflow.com<BR/>
http://www.stackoverflow.com<BR />

这是一个链接:http ://regexr.com?3485d

正则表达式将检查是否存在(可选)br-tag。如果没有,它只会匹配正常的 url。

于 2013-03-22T10:55:30.240 回答