0

需要用杨中的正则表达式更新叶子......

基本上它应该只需要数字,范围从 1-32

有效的模式是:

1,2,3,4-7,22-30,32,31 - 有效

1,2,3,4-7,22-30,32,31,1-10 - 无效,因为有些与其他重叠

33,45,33-45,3345 - 无效

尝试使用下面的代码,但是有没有办法为此添加范围并从表达式中删除重叠...

(([1-9][1-9]?|([1-9][1-9]?-[1-9][1-9]?))(,([1-9][1 -9]?|([1-9][1-9]?-[1-9][1-9]?)))*)

4

1 回答 1

0

不,这是不可能的。单独的正则表达式不足以检测数字集中的重叠。但是,如果您想使用正则表达式来验证您的输入集,然后以编程方式对其进行检查,那么这是不可能的。以下模式将匹配您的问题所要求的输入:

(?:\d+(?:-\d+)?,?)+ (演示)

实际上验证不存在重叠取决于您的程序。

于 2021-06-30T00:50:34.020 回答