在regex OR组中指定一个组

问题描述 投票:1回答:1

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

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个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.