javascript - 正则表达式匹配末尾有 n 个重复数字的数字

标签 javascript regex

我想匹配 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/

相关文章:

javascript - react : Cross origin requests on loading file without local server

regex - 确定文件是否包含特定字符串的最快方法是什么?

将常规 C 风格编码文件转换为 GNU 风格编码标准

regex - 使用-replace过滤

正则表达式 - 选择查询字符串值的值并在第一个&符号处停止

javascript - 我可以将 javascript 存储在本地存储对象中并运行它吗?

javascript - 如何使用 jQuery 定位表中同一行上的另一个元素

javascript - 相同的代码比等效的 JS 闭包库慢

javascript - 由单选按钮激活的 Bootstrap 数据切换下拉列表

php - 如何使用正则表达式向后看?