【问题标题】:RegEx Help (13 length digit, ends in specific digits)正则表达式帮助(13 位长度,以特定数字结尾)
【发布时间】:2012-03-23 04:48:40
【问题描述】:

我正在尝试进行的搜索的另一个 RegEx 问题。

问题:确定用户输入的长度是否为 13 位(仅限数字)并以 52,56 或 57 结尾。

我目前不工作的解决方案[0-9]52|56|57${13}。我也试过[0-9]52|56|57{13}$,但没有骰子。

感谢您的帮助。

【问题讨论】:

    标签: regex


    【解决方案1】:

    试试这个正则表达式:

    ^[0-9]{11}(52|56|57)$
    

    这就是它的意思:

    ^ 字符串开头 [0-9] 0-9 中的任意字符 {11} 前一个令牌必须精确匹配 11 次。 (52|56|57) 交替 - 任何一种可能性都必须匹配 $ 字符串结尾

    在这种情况下,您也可以将其简化为:

    ^[0-9]{11}5[267]$
    

    【讨论】:

      【解决方案2】:

      您有 13 位数字,其中 11 位可以是任意数字,接下来的两位必须是 52,56 或 57。正则表达式中的 11 位数字类似于 \d{11}。 “或”运算符由符号| 表示,因此52 or 56 or 57 变为52|56|57。生成的正则表达式看起来像\d{11}(52|56|57)。括号用于消除歧义。

      请记住,您可以从简单的正则表达式构造复杂的正则表达式。这种方法总是有效的;)

      【讨论】:

        猜你喜欢
        • 2018-08-21
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-17
        • 2011-06-17
        • 1970-01-01
        相关资源
        最近更新 更多