var str = "我看了{三国演义}";var arr = str.match(/\{.*\}/g) ;这样的话,匹配出来的是 {三国演义} ,如果我想匹配 三国演义 ,不用(),也就是不用 /\{(.*)\}/g 的话,能把这个三国演义匹配出来吗?
1 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
按照你的问题描述,那零宽断言应该是比较好的方案了。
能够正确匹配的正则应该是(?<=\{)[^{}]+(?=\})
,但是js不支持回顾后发断言(即?<=
),那么如果样本是比较规范的{}
对的话,[^{}]+(?=\})
这个正则可以满足需求。
添加回答
举报
0/150
提交
取消