因为工作的关系,很长时间没有更新简书了。最近在使用正则的时候,遇到一个需求就是,收到到一段字符串需要进行处理,例如:str = 'https://www.baidu.com <span data-src='https://www.taobao.com'>这是一段文字</span>'
需要将字符中所包含网页链接使用正则处理后用a标签包裹,并且https://www.taobao.com不能替换
刚开始我使用的是:
httpreg = /(http:\/\/|https:\/\/)((?!www.taobao.com)(\w|=|\?|\.|\/|&|-|\:|\;|\+|\%|\#)+)/g
str = str.replace(httpreg,'<a href=$1$2>$1$2</a>')
逻辑上处理是没有问题的,但是一打包线上正则判断就是失效,百度到原因是什么正则丢失之类的,最后修改了写法就可以了
httpreg = new RegExp('(http:\\/\\/|https:\\/\\/)((?!www.taobao.com)(\\w|=|\\?|\\.|\\/|&|-|\\:|\\;|\\+|\\%|\\#)+)','g')
这次对正则的使用,感觉到正则的强大,要学习的还有很多,希望能给大家带来一些帮助!!