Мне дали строку, которая содержит действительные коды и иногда недопустимые коды. Каждая строка структурирована с ...valid for 111, 333, 555
. Строка может заканчиваться точкой или включать один из следующих (except 3331, 3332, 5554).
, except 3331, 5555.
или except(3331, 5554).
в списке допустимых кодов. В каждом предложении также могут быть дополнительные примечания, которые не относятся к делу, но могут содержать цифры.
Пример: ... 111, 222, 333 (except 3331, 3332, 3339), 444, 555, 77781, and 89. Note: Look up doc 432
Мне нужно проанализировать строку, чтобы получить список действительных цифровых кодов. а также список исключений. Я получил все до периода с ^[^.]+
и все до слова, кроме с .+?(?=except)
, но не могу понять, как сделать первый проход, чтобы получить действительные коды до .
или except
, которые когда-либона первом месте.
Я надеюсь просто разбить предложение в этом проходе, если мне удастся получить цифры с одним регулярным выражением для правильных и недействительных кодов, которые были бы идеальными.