JS Regex的最后两位数字与前两位数字匹配

JS Regex last two digits matches the first two digits

本文关键字:两位 数字 Regex JS 最后      更新时间:2023-09-26

我是regex的新手,所以请回答我愚蠢的问题。

我已经试着让它工作了几个小时了,但我仍然无法让我像我想的那样工作。

我需要的是,我有4个数字,我需要最后2个数字,与前2个数字相同。
就像这将是一场比赛:

1212  
1313  
1414 

另一方面,这不应该是一个匹配:

1513
1314
1236  

我似乎无法让它发挥作用,而且我不知道如何真正做到这一点。
这就是我目前所掌握的:

/^(?:('d{2}))+$/g  

我能得到一些帮助吗,继续前进?或者用手指指向正确的方向,如何做,或者在哪里查找,这样我就能找到答案
提前感谢

您可以使用

/^('d{2})'1$/

用于4位字符串。请参阅此regex演示。

var good_strs = ["1212", "1313", "1414"];
var bad_strs = ["1513", "1314", "1236"];
var res_good = good_strs.map(x => /^('d{2})'1$/.test(x));
document.body.innerHTML = "Good string test:<pre>" + JSON.stringify(res_good, 0, 4) + "</pre>";
var res_bad = bad_strs.map(x => /^('d{2})'1$/.test(x));
document.body.innerHTML += "Bad string test:<pre>" + JSON.stringify(res_bad, 0, 4) + "</pre>";

如果中间可以有任何字符,只需在中间插入['s'S]*

/^('d{2})['s'S]*'1$/

请参阅另一个regex演示(懒惰匹配仅用于演示)。