正则表达式不匹配 6 个重复的数字
Regex not matching 6 repeated numbers
我正在尝试让正则表达式起作用,但被难住了。我想要的是做相反的事情:
/(\w){5,}/
这个正则表达式与我想要做的完全相反。我想得到除了具有 6 个重复数字的字符串之外的所有内容,即 111111
或 999999
。
有没有办法对这个正则表达式使用负环视或其他东西?
你可以使用这个 rgex:
/^(?!.*?(\w){5}).*$/gm
(?!.*?(\w){5})
是一个否定的前瞻,如果其中有 6 个连续的相同单词字符,则匹配失败。
我宁愿使用 \d
shorthand class 作为数字,因为 \w
也允许字母和下划线。
^(?!.*(\d){5}).*$
正则表达式解释:
^
- string/line 锚的开始
(?!.*(\d){5})
- 负向先行检查在可选字符数 (.*
) 之后是否有一个数字 ((\d)
) 紧跟 5 个相同的数字 ({5}
).
.*
- 匹配 0 个或更多字符直到
$
- string/line. 结束
参见 demo。此正则表达式将允许
我正在尝试让正则表达式起作用,但被难住了。我想要的是做相反的事情:
/(\w){5,}/
这个正则表达式与我想要做的完全相反。我想得到除了具有 6 个重复数字的字符串之外的所有内容,即 111111
或 999999
。
有没有办法对这个正则表达式使用负环视或其他东西?
你可以使用这个 rgex:
/^(?!.*?(\w){5}).*$/gm
(?!.*?(\w){5})
是一个否定的前瞻,如果其中有 6 个连续的相同单词字符,则匹配失败。
我宁愿使用 \d
shorthand class 作为数字,因为 \w
也允许字母和下划线。
^(?!.*(\d){5}).*$
正则表达式解释:
^
- string/line 锚的开始(?!.*(\d){5})
- 负向先行检查在可选字符数 (.*
) 之后是否有一个数字 ((\d)
) 紧跟 5 个相同的数字 ({5}
)..*
- 匹配 0 个或更多字符直到$
- string/line. 结束
参见 demo。此正则表达式将允许