Я режу зубы в регулярном выражении за последние пару дней, и столкнулся с проблемой, с которой я не могу пройти.Как пропустить фразу только в том случае, если она существует
Давайте предположим, что струна следующие три значения
AKA NAME:FOO
FOO
AKA NAME:
Моя цель состоит в том, чтобы захватить значение строки после AKA NAME: в имени группы матча, и если AKA NAME: нет, захватить весь строка в группе соответствия. Если «AKA NAME:» присутствует без последующего значения, выражение регулярного выражения должно завершиться неудачно. Я разработал следующее выражение
^(?:AKA NAME:)?\s*(?<VALUE>(.|\n|\r){1,225})$
Это правильно захватить слово «Foo» в первые 2 строки выше, однако, в третьей он захватывает «AKA NAME:» в группе матча. Я решил положить? после того, как группа без захвата, содержащая «AKA NAME:», заставила двигатель пропустить это значение, но это не так.
Может ли кто-нибудь дать мне руководство?
ПРИМЕЧАНИЕ: Я использую python, какой формат является вашим регулярным выражением? – isosceleswheel
Я использую .net. Это выражение было именно тем, что мне нужно. Благодаря! – markekt