gpt4 book ai didi

JavaScript正则表达式匹配问题

转载 作者:行者123 更新时间:2023-11-30 10:39:38 27 4
gpt4 key购买 nike

var regExp=new RegExp('\[:bg\]([A-Za-z\-\s]+)', 'g');
var text='something [:bg]text1[:en]text2 % something';
console.log(text.match(regExp));

我希望此片段返回字符串“text1”,但它返回以下数组:[":bg", ":en"]

我做错了什么?

最佳答案

使用正则表达式语法创建正则表达式:

var regExp = /\[:bg\]([A-Za-z\-\s]+)/g;

否则,您必须将反斜杠加倍。当您从一个字符串开始时,您必须考虑到一个事实,即字符串本身将由 JavaScript 根据字符串常量语法中嵌入的元字符的规则进行解释。只有这样,它才会被 RegExp() 构造函数重新解释为正则表达式。因此,字符串解析将“吃掉”您的反斜杠,并且正则表达式将不是您想要的。

编辑 — 正如@Rocket 在评论中指出的那样,“g”修饰符可能是必需的,也可能不是必需的。

关于JavaScript正则表达式匹配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11885339/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com