【问题标题】:How is the regular expression [1-57-9] interpreted?正则表达式 [1-57-9] 如何解释?
【发布时间】:2013-02-16 13:58:44
【问题描述】:

这是在 Java 中:[1-57-9]

我今天遇到了这个正则表达式,我正试图找出它的确切含义。有人可以帮我吗?

【问题讨论】:

  • 那不是 3 个数字。它们实际上是 4 个数字。

标签: java regex expression


【解决方案1】:

它允许数字 1-5 和 7-9。所以相当于[12345789]

请参阅Pattern 的文档以了解 Java 中正则表达式的详细信息,尤其是“字符类”下的示例:

  • [abc] - abc(简单类)
  • [^abc] - 除 abc 之外的任何字符(否定)
  • [a-zA-Z] - azAZ,包括(范围)
  • [a-d[m-p]] - ad,或 mp: [a-dm-p](联合)
  • [a-z&&[def]] - def(交叉路口)
  • [a-z&&[^bc]] - azbc 除外:[ad-z](减法)
  • [a-z&&[^m-p]] - az,而不是 mp: [a-lq-z](减法)

另请参阅regular-expressions.info 网站及其section on character classes

【讨论】:

  • 此链接:regular-expressions.info/charclass.html 也可能有帮助。
  • @RohitJain:谢谢,会包含它。
  • +1 用于显示交集和减法。这些是字符类鲜为人知且很少使用的功能。
  • @RohitJain:它们只是文档中的示例 :)
【解决方案2】:

[1-57-9] 读作“1 到 5 或 7 到 9”

它匹配 1、2、3、4、5、7、8、9 中的一个数字。

【讨论】:

    【解决方案3】:

    它只是一个character class,指定您可以匹配范围内的单个数字:1 到 5 和 7 到 9。

    【讨论】:

      【解决方案4】:

      表示以下字符之一: 1,2,3,4,5,7,8,9

      【讨论】:

        猜你喜欢
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 2012-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多