Node.js 正则表达式删除 url 内的撇号
Node.js regex remove apostrophes inside urls
我需要替换字符串中的所有撇号,只有 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[^"]++/
它 select 是整个 URL 但后来我不知道如何 select 只替换撇号
假设你在 URL:
中只有一个单引号就可以了
(href="[^"]+)'([^"]+")
https://regex101.com/r/6zRLSC/1
如果您有多个单引号,则 while 循环可以解决该问题。
var string = `This is an example text. I'd love to fix this.
<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>
Inside the text there could be more urls
<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 replacing
while(string.match(/(href="[^"]+)'([^"]+")/))
{
string = string.replace(/(href="[^"]+)'([^"]+")/g, '')
}
console.log(string);
我需要替换字符串中的所有撇号,只有 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[^"]++/
它 select 是整个 URL 但后来我不知道如何 select 只替换撇号
假设你在 URL:
中只有一个单引号就可以了(href="[^"]+)'([^"]+")
https://regex101.com/r/6zRLSC/1
如果您有多个单引号,则 while 循环可以解决该问题。
var string = `This is an example text. I'd love to fix this.
<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>
Inside the text there could be more urls
<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 replacing
while(string.match(/(href="[^"]+)'([^"]+")/))
{
string = string.replace(/(href="[^"]+)'([^"]+")/g, '')
}
console.log(string);