我想匹配 Javascript 中末尾有精确 n 个重复数字的数字。但是,我的正则表达式在末尾匹配 n 个或 n 个以上的数字,而且我似乎无法解决这个问题。
即 n=3,匹配这些:
12333
222
1233334333
与这些不匹配:
11
12344
122233
123333
我的正则表达式(不起作用):
(\d)\1{2}$
[^\1](\d)\1{2}$
(\d){3}(?!\1)$
最佳答案
试试这个 - 匹配重复数字开始之前的数字,对所述数字使用负向前查找,然后匹配 3 个重复数字:
const strs = [
'12333',
'222',
'1233334333',
'11',
'12344',
'123333'];
const re = /(^|(\d)(?!\2))(\d)\3{2}$/;
strs.forEach(str => {
if (re.test(str)) console.log('pass ' + str);
});
关于javascript - 正则表达式匹配末尾有 n 个重复数字的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51113755/