JavaScript正则需求:在{后紧跟字母时添加引号(单正则实现)
JavaScript正则表达式解决方案
直接用带捕获组的正则就能搞定,不用依赖后行断言:
const str = "{sadsada"; const processedStr = str.replace(/({)([a-zA-Z])/g, '$1"$2'); console.log(processedStr); // 输出:{"sadsada"
- 正则
/( {)([a-zA-Z])/g的作用:({):把{单独捕获为第一个分组([a-zA-Z]):捕获{后面紧跟的任意大小写字母作为第二个分组/g标记确保全局匹配所有符合条件的位置,比如多个{的场景也能处理(例:{abc{def会变成{"abc{"def)
- 替换时用
'$1"$2',就是把捕获到的{、引号、字母拼接,刚好在符合要求的{后插入引号。
如果你的运行环境支持ES2018及以上(现在主流浏览器、Node.js都支持),也可以用正向先行断言简化:
const processedStr = str.replace(/(?={[a-zA-Z])/g, '"');
这个正则会匹配{后面紧跟字母的那个位置,直接在该位置插入引号,效果和上面的方法完全一致。
内容的提问来源于stack exchange,提问作者C.Unbay
相关产品推荐
相关产品推荐

