以下正则表达式模式在以下字符串示例中查找单个双引号(基本上是1后面的双引号)。问题是某些浏览器不支持正查找。是否有替代的正则表达式模式可以工作?我需要使用js将此双引号替换为另一个字符(例如带有?字符)。
(?
abc-1"-def321
"abc-1"-def321"
"阿罗哈"
所需结果(用?字符替换双引号):
abc-1?-def321
"abc-1?-def321"
"阿罗哈"
谢谢。
我建议
.replace(/([\w"])"+(?=\S)/g, '$1?')
请参阅正则表达式演示。详细信息:
([\w"])
-捕获组1:单词或"
char"
-一个或多个"
字符(?=\S)
-后跟一个非空白字符。请参阅JavaScript演示:
const text = `abc-1"-def321
"abc-1"-def321"
"aloha"`;
console.log(text.replace(/([\w"])"+(?=\S)/g, '$1?'));