javascript - .exec 的正则表达式不起作用

标签 javascript regex

我想用 regexpexec 匹配 3 个字母和 3 个数字。但我没有得到任何结果。知道有什么问题吗?代码是:

var regnr = "This is the pattern to match: WBJ124";
var patt = new RegExp("^\b[a-zA-Z]{3}\d{3}\b*$");
var sequence = '';
var grps = patt.exec(regnr);
if(grps!=null){
  sequence = grps[0];
}

sequence 是空的,但我希望它是 WBJ124

最好的问候

最佳答案

当您匹配较长字符串中的子字符串时,您在正则表达式中几乎没有错误,例如使用 ^$。此外,您正在使用接受字符串文字的 RegExp 对象,因此需要双重转义。

您可以使用:

var regnr = "This is the pattern to match: WBJ124";
var patt = /\b[a-zA-Z]{3}\d{3}\b/; // or new RegExp("\\b[a-zA-Z]{3}\\d{3}\\b")
var grps = patt.exec(regnr);

关于javascript - .exec 的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336156/

相关文章:

javascript - 使用html为iphone浏览器创建自动完成框

javascript - 计算高度的弹出窗口

javascript - 我该如何解决 dev webpack style hot loader js 错误

java - 无法追踪为什么这个正则表达式代码无限运行

regex - ` and "引用的正则表达式有什么区别?

正则表达式选择括号之间和 ": "之后的所有文本

javascript - 在javascript中重复使用的另一个函数中执行一个函数的最佳方法

javascript - 使用 webdriverjs 查找是否存在元素

c++ - 当我认为它不应该在 C++ 中时,正则表达式采用等号

regex - 跳过前导和尾随空白