2017-12-16 1 views
1

英数字と一致させたいので、数字を強制的に含む必要があります。 基本的には、アルファベット、数字、およびいくつかの特殊文字を組み合わせた注文番号を抽出したいと考えています。私は、次の正規表現regex ORグループ内のグループを委任する

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

を書きました。しかし、それは、このようなすぐに他の単語として無効な情報と一致します。だから私は英数字と数字に一致する正規表現を必須にしたい。

例:テキスト「P/O No.:P9:8774」からP9:8774が必要です。

答えて

1

私は問題を解決しました。アルファベットのオプションと数字のグループを作成し、+でこのグループを繰り返しました。

これは次のようになります。 an

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