【问题标题】:Regular expression for 1-31 [duplicate]1-31的正则表达式[重复]
【发布时间】:2018-08-27 15:03:44
【问题描述】:

我想做一个正则表达式来检查日期数字,例如1 到 31。 我认为它具有三种模式:[0-9][12][0-9]3[01]

但我不知道如何使用 |(or) 运算符将它们作为一个正则表达式。

有人对此有想法吗?

【问题讨论】:

  • 您知道您需要使用| 运算符,但您自己尝试过吗?
  • [0-9]|[12][0-9]|3[01]?
  • 我是在regex101.com 页面上完成的。但它没有用。
  • 下载 Expresso,它是一个免费工具,可以帮助您使用正则表达式。你的日期数字不清楚你的意思是 ddmmyyyy 吗?

标签: regex


【解决方案1】:

您需要的是alternation 和一个将模式本地化的组。只需在捕获组(a|b) 或非捕获组(?:a|b) 中使用|

([1-9]|[12][0-9]|3[01])

【讨论】:

    【解决方案2】:

    更新:

    ([0-2][0-9]|(3)[0-1])

    希望这能回答你的问题

    【讨论】:

    • 我试图在regex101.com页面上写你的表达式并尝试32。但它说两个匹配。
    • 谢谢。它有效。
    猜你喜欢
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多