提问者:小点点

正则表达式-在引号中替换引号


以下正则表达式模式在以下字符串示例中查找单个双引号(基本上是1后面的双引号)。问题是某些浏览器不支持正查找。是否有替代的正则表达式模式可以工作?我需要使用js将此双引号替换为另一个字符(例如带有?字符)。

(?

abc-1"-def321

"abc-1"-def321"

"阿罗哈"

所需结果(用?字符替换双引号):

abc-1?-def321

"abc-1?-def321"

"阿罗哈"

谢谢。


共1个答案

匿名用户

我建议

.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?'));