我正在尝试在 JS 中使用正则表达式来解决以下问题。问题的本质很简单:根据输入数据匹配第N位的数字。这是第一个条件。第二个条件是数字中的数字序列必须是非递减的。
例如,对于五位数字,正则表达式应选择 12234 或 11234 或 45678 等数字。
一般组最好使用量词{n},这样可以在生成正则表达式的过程中设置数字的值。但我会很高兴任何提议的选项。
阅读文档后,无法找到比较操作的实现。也许正则表达式设备不是设计来按重量比较数字的。
我正在尝试在 JS 中使用正则表达式来解决以下问题。问题的本质很简单:根据输入数据匹配第N位的数字。这是第一个条件。第二个条件是数字中的数字序列必须是非递减的。
例如,对于五位数字,正则表达式应选择 12234 或 11234 或 45678 等数字。
一般组最好使用量词{n},这样可以在生成正则表达式的过程中设置数字的值。但我会很高兴任何提议的选项。
阅读文档后,无法找到比较操作的实现。也许正则表达式设备不是设计来按重量比较数字的。
不,正则表达式无法比较数字,因此您必须自己设置允许的顺序:
^1*2*3*4*5*6*7*8*9*$-即,任意数量的 1(包括无),然后是任意数量的 2,...,任意数量的 9匹配的长度可以用表达式检查,
^\d{5}$甚至^.{5}$为了同时检查这两个条件,您需要将其中一个放入前瞻中,结果我们得到:
(?=^.{5}$)^1*2*3*4*5*6*7*8*9*$或(?=^1*2*3*4*5*6*7*8*9*$)^.{5}$