我花费了大量时间寻找解决方案或尝试解决方案,但是我没有找到解决方案。所以我的用例是:
我有一个文本,可以具有简单的url(带有或不带有http / s),也可以具有超链接的url。
它应该保留超链接URL,并将非超链接URL转换为超链接URL。
我正在从www.codeburst.com学习正则表达式,并在<a href="https://regexr.com">Regexr</a>
尝试正则表达式。
我正在从<a href="www.codeburst.com">www.codeburst.com</a>
学习正则表达式,并在<a href="https://regexr.com">Regexr</a>
尝试正则表达式。
此正则表达式,但无法正常工作。
/((?!href).((https?:\/\/)||(www\.)|(mailto:)).+)/gi
答案 0 :(得分:1)
(?<!href=")
之后加上否定的外观,该外观最近已添加到ECMAScript中,请参见this answer ||
会使此无用(饥饿的比赛)后面的记号出现.+
,它匹配之后的所有内容(包括带有/ s regex选项的换行符)我将从
开始(?<!href=")(((https?:\/\/)|(www\.)|(mailto:))\S+)
答案 1 :(得分:0)
(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
正则表达式的突破如下,
(https?:\/\/)?
检查http:\\
或https:\\
或no http
(www\.)?
检查www.
或no www.
我已经使用以下测试用例检查了上述正则表达式: