用于在 javascript 中查找动态字符串中字符的第二次出现的正则表达式
Posted
技术标签:
【中文标题】用于在 javascript 中查找动态字符串中字符的第二次出现的正则表达式【英文标题】:Regex for finding the second occurrence of a character in a dynamic string in javascript 【发布时间】:2020-01-19 03:09:51 【问题描述】:我正在为多个关键字生成 URL,我想删除给定 URL 中第二次出现的字符“&”。
我对正则表达式很陌生,绝对不擅长它。
现在我只是使用 indexOf() 方法并传递字符,但它会第一次出现。我想要第二次出现,但是对于长度不同的关键字,它会出现在不同的位置。
假设自定义 URL 是这样的: 'https://www.bing.com/search?q=something+something+something+something&mkt=en-IN&organic=True&ads=False&snippet=False'
我希望新的 URL 是这样的: 'https://www.bing.com/search?q=something+something+something+something&mkt=en-IN'
【问题讨论】:
How to match everything up to the second occurrence of a character?的可能重复 【参考方案1】:const regex = /(.*?&.*?)&.*/;
const str = `https://www.bing.com/search?q=something+something+something+something&mkt=en-IN&organic=True&ads=False&snippet=False`;
const result = str.replace(regex, '$1');
正则表达式搜索第二个“&”之前的所有内容,并用这个匹配替换原始字符串。
【讨论】:
以上是关于用于在 javascript 中查找动态字符串中字符的第二次出现的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章