首页 > 解决方案 > Javascript regex - 重用模式来捕获组

问题描述

我只是想学习 javascript 正则表达式,并且已经在这个问题上停留了一段时间。

我需要匹配模式,下面是一些示例:

console.log("42 42 42 42".match(reRegex)); // should NOT match
console.log("42 42".match(reRegex)); // should NOT match
console.log("42 42 42".match(reRegex)); // should match

我已经尝试了很多版本,但无法弄清楚。你能告诉我这是如何工作的吗?

这是不正确的,因为它匹配42 42 42 42,它不应该。

let repeatNum = "42 42 42";
let reRegex = /(\d+)(\s)\1\2\1/; // Change this line
let result = reRegex.test(repeatNum);

谢谢

标签: javascriptregex

解决方案


看看

如果是每行,则添加 $:/^(\d+)(\s)\1\2\1$/

https://regex101.com/r/FFwPWF/1


推荐阅读