Мандат группы внутри регулярного выражения ИЛИ группы
Я хочу соответствовать буквенно-цифровым символам, и они должны обязательно содержать цифры. По сути, я хочу извлечь номер заказа, который представляет собой комбинацию алфавитов, цифр и нескольких специальных символов. Я написал следующее регулярное выражение
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+)+";