【问题标题】:Mandate a group inside regex OR group在正则表达式或组内强制一个组
【发布时间】:2017-12-16 09:29:58
【问题描述】:

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

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

但随后匹配了IMMEDIATELY等无效信息。所以我想要一个匹配字母数字字符和数字的正则表达式。

例如:来自文本“P/O 编号:P9:8774”我想要 P9:8774。

【问题讨论】:

    标签: java regex pattern-matching text-extraction


    【解决方案1】:

    我解决了这个问题。我用字母创建了一个选项,数字是强制性的。然后用 + 重复这个组。

    现在看起来像这样。一个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多