在文本中匹配链接并添加A标签

时间:2021-04-26 16:49:22

(?<!href="|">)(https?:\/\/[\w\-\.!~?&=+\*\'(),\/]+)((?!\<\/\a\>).)*

这个正则可以匹配文本中以http开头的链接, 但是不会匹配那些已经被A标签包围的链接. 测试文本:

Test,

Here\'s an interesting in-house litigation position with JPMorgan Chase in New York I thought you might be interested inL

http://www.xxx.com/lcdetail.php?akey=e1725

They are not using recruiters to fill this job, so if you are interested you can just apply directly.  

http://www.xxx.com/lcdetail.php?akey=e1725

Cordially
--Harrison

regex101.com 这个网站非常棒, 上面提供正则的测试, 以及非常详细的正则表达式解析和说明.

(?<!href="|">)(https?:\/\/[\w\-\.!~?&=+\*\'(),\/]+)((?!\<\/\a\>).)*

This will detect the links started with "http:" without touching the links already wrapped by A tags. Text for test:

Test,

Here\'s an interesting in-house litigation position with JPMorgan Chase in New York I thought you might be interested inL

http://www.xxx.com/lcdetail.php?akey=e1725

They are not using recruiters to fill this job, so if you are interested you can just apply directly.  

http://www.xxx.com/lcdetail.php?akey=e1725

Cordially
--Harrison

regex101.com is a wonderful site to test and analyse your regular expressions.