【问题标题】:Regex array of number [duplicate]数字的正则表达式数组[重复]
【发布时间】:2018-06-27 04:54:02
【问题描述】:

我对正则表达式有疑问,需要您的帮助。我想检查我的字符串是否正确。第一个和最后一个是数字,后面只有数字和逗号。 2个数字内没有空格。

例如:

  • 1,2,3,49,5 这是正确的
  • 1,2,3,45,这是不正确的
  • ,12,4,2,67 这是不正确的
  • 1,2 3,4,5,6 这是不正确的

【问题讨论】:

    标签: regex


    【解决方案1】:
    ^(?:\d+,)*\d+$
    

    (?:\d+,)* - 得到类似“0”、“00”、“000”、...或空的匹配项

    \d+ - 获取最后一个数字为“0”“00”“000”

    【讨论】:

    • 适用于单元素数组
    • 非常感谢,你说得对。
    【解决方案2】:

    请检查下面的正则表达式来解决您的问题。

    正则表达式:^[0-9]+([0-9,])+[0-9]+$

    ^[0-9]+ 以一个或多个数字开头

    [0-9]+$ 以一个或多个数字结尾

    ([0-9,])+ 是一个或多个带逗号的数字

    请检查Regex101中的输出

    更新:

    请检查更新的正则表达式:^(\d+,)+\d+$

    ^(\d+,)+ 用于一个或多个带逗号的数字,这将处理带逗号的第一个数字

    \d+$ 以一个或多个数字结尾

    请检查Regex101中的更新输出

    【讨论】:

    • 尝试 3+ 位数字作为输入。你的表达不会失败。但使用 1 位和 2 位数字失败。
    • 也匹配“1,,,,,1”。所以..
    • 请查看更新后的解决方案。
    • 同样的 Sedo 的问题 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    相关资源
    最近更新 更多