Мандат группы внутри регулярного выражения ИЛИ группы

Я хочу соответствовать буквенно-цифровым символам, и они должны обязательно содержать цифры. По сути, я хочу извлечь номер заказа, который представляет собой комбинацию алфавитов, цифр и нескольких специальных символов. Я написал следующее регулярное выражение

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

Но тогда это соответствует неверной информации, такой как НЕМЕДЛЕННО и другие слова. Поэтому я хочу регулярное выражение, которое соответствует буквенно-цифровым символам с обязательными цифрами.

пример: из текста "P/O No.: P9:8774" я хочу P9:8774.

1 ответ

Решение

Я решил проблему. Я сделал группу с алфавитами опцией и обязательной цифрой. Затем повторил эту группу с +.

сейчас это выглядит примерно так.

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

Другие вопросы по тегам