正则的使用-c替换包含a且不包含b的内容

因为工作的关系,很长时间没有更新了。最近在使用正则的时候,遇到一个需求就是,收到到一段字符串需要进行处理,例如:str = 'https://www.baidu.com 这是一段文字'
需要将字符中所包含网页链接使用正则处理后用a标签包裹,并且https://www.taobao.com不能替换

刚开始我使用的是:

httpreg = /(http:\/\/|https:\/\/)((?!www.taobao.com)(\w|=|\?|\.|\/|&|-|\:|\;|\+|\%|\#)+)/g
str = str.replace(httpreg,'$1$2')

逻辑上处理是没有问题的,但是一打包线上正则判断就是失效,百度到原因是什么正则丢失之类的,最后修改了写法就可以了

httpreg = new RegExp('(http:\\/\\/|https:\\/\\/)((?!www.taobao.com)(\\w|=|\\?|\\.|\\/|&|-|\\:|\\;|\\+|\\%|\\#)+)','g')

这次对正则的使用,感觉到正则的强大,要学习的还有很多,希望能给大家带来一些帮助!!

你可能感兴趣的:(正则的使用-c替换包含a且不包含b的内容)