gpt4 book ai didi

javascript - 如何否定正则表达式模式

转载 作者:行者123 更新时间:2023-11-30 14:18:17 24 4
gpt4 key购买 nike

所以我有一个正则表达式来识别我的输入的无效模式,我希望能够反转它,而不是匹配无效的案例,而是匹配有效的案例。这是无效的正则表达式:

^(?=\d{6}$)(?:(\d)\1{5,}|012345|123456|234567|345678|456789|567890|098765|987654|876543|765432|654321|54321)$

理想情况下,为了匹配阳性案例,它应该确保:

  • 6 位数字
  • 同一个数字不重复6次
  • 它不是按顺序递增或递减 1

我曾尝试用否定前瞻替换非捕获组,但是由于我不熟悉正则表达式的更精细语法,如果这只是一个输入错误或者我需要在某处更改正则表达式,我不会肯定否则

编辑虽然我知道这可以由 javascript 处理,但我想用正则表达式来处理它以利用 Foundations 错误处理

最佳答案

你可以使用这个正则表达式:

/(?=^(\d){6}$)(?!^\1{6})(?!^(?:012345|123456|234567|345678|456789|567890|098765|987654|876543|765432|654321|54321)$)^\d+$/

正则表达式使用 look ahead 并从检查 6 位数字 开始。它捕获 last digit 与反向引用一起使用以检查,不是 6 个相同的数字。然后它使用负向前瞻来与无效序列列表进行比较。

最后匹配到6位

关于javascript - 如何否定正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53178181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com