代码之家  ›  专栏  ›  技术社区  ›  Arun Gowda

在regex或group内授权一个组

  •  1
  • Arun Gowda  · 技术社区  · 7 年前

    我想匹配字母数字字符,它必须强制包含数字。 基本上,我想提取一个订单号,它是字母、数字和一些特殊字符的组合。我编写了以下正则表达式

    String invoiceRegex = "(?<=((?i)(PO|P/O|ORDER)([\\s|.]{0,4})(number|no)?[|: -.]{0,10}))([\\dA-Z:-]*)";
    

    但它会匹配无效信息,如立即和其他单词。所以我想要一个正则表达式,它将字母数字字符与强制数字相匹配。

    例如:从文本“订单号:P9:8774”中,我想要P9:8774。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Arun Gowda    4 年前

    我解决了这个问题。我让一组字母成为选项,数字是必需的。然后用+重复这个组。

    现在看起来像这样。一

    String invoiceRegex = "(?<=((?i)(PO|P/O|ORDER)([\\s|.]{0,4})(number|no)?[|: -.]{0,10}))([A-Z:-]*\\d+)+";