在regex OR组中指定一个组

时间:2017-12-16 09:29:58

标签: java regex pattern-matching text-extraction

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

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

然后它匹配无效信息,如IMMEDIATELY和其他单词。所以我想要一个匹配字母数字字符和强制数字的正则表达式。

例如:从文字“P / O编号:P9:8774”我想要P9:8774。

1 个答案:

答案 0 :(得分:1)

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

现在它看起来像这样。一个

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