Node.js 正则表达式删除 url 中的撇号

我需要替换我的字符串中的所有撇号,只有 href=" " 标签中的那些,外面的撇号应该保留。


我正在使用 node.js。


这是我的字符串:


This is an example text. I'd love to fix this. 


<a href="https://www.example.com/i'd-love-to-fly/"> I'd love to fly link </a> 


Inside the text there could be more urls 


<a href="https://www.example.com/i'd-rather/">I'd rather link</a>. 

例如


<a href="https://www.example.com/i'd-love-to-fly/"> I'd love to fly link </a> 

应该


<a href="https://www.example.com/id-love-to-fly/"> I'd love to fly link </a> 


我正在尝试使用正则表达式


/https[^"]++/

它选择了整个 URL,但我不知道如何只选择和替换撇号


青春有我
浏览 97回答 2
2回答

12345678_0001

假设您在 URL 中只有一个单引号:(href="[^"]+)'([^"]+")https://regex101.com/r/6zRLSC/1如果您有多个单引号,则 while 循环可以解决该问题。

慕婉清6462132

&nbsp;var string = `This is an example text. I'd love to fix this.&nbsp;<a href="https://www.example.com/i'd-love-to-fly-but-don't-like-heights/"> I'd love to fly but don't like heights link </a>&nbsp;Inside the text there could be more urls&nbsp;<a href="https://www.example.com/i'd-rather/">I'd rather link</a>.`;// While we match the pattern that we're targeting, keep on replacingwhile(string.match(/(href="[^"]+)'([^"]+")/)){&nbsp; &nbsp; string = string.replace(/(href="[^"]+)'([^"]+")/g, '$1$2')}console.log(string);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript