【问题标题】:Yang regular expression for digit validation用于数字验证的杨正则表达式
【发布时间】:2021-04-23 22:26:23
【问题描述】:

需要用Yang中的正则表达式更新一个叶子...

基本上它应该只取数字,范围为 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]?)))*)

【问题讨论】:

    标签: regex yang


    【解决方案1】:

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

    (?:\d+(?:-\d+)?,?)+(Demo)

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

    【讨论】:

    • 你是对的,但我现在能够部分实现所需的东西......模式'NONE|((([1-9]|[1-2][0-9]| 30|31|32))|(([1-9]|[1-2][0-9]|30|31|32))-(([1-9]|[1-2][0 -9]|30|31|32)))(,((([1-9]|[1-2][0-9]|30|31|32))|(|([1-9] |[1-2][0-9]|30|31|32))-(|([1-9]|[1-2][0-9]|30|31|32))))* '
    猜你喜欢
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多