Рассмотрим следующую строку: ABC
. Я хотел бы с помощью регулярного выражения захватить следующие группы:
Group1: AC
Group2: B
Обе группы должны быть записаны с использованием одного регулярного выражения. У меня нет контроля над кодом, поэтому вспомогательные совпадения или группы захвата мне не помогут.
Я попробовал обе группы без захвата и огляделся.
С группой без захвата совпадение по-прежнему является частью окончательного результата.
(?<Group1>a(?:(?<Group2>b))c)
Group1: ABC # Неправильно, поскольку B участвует в матче. Группа 2: B
При поиске Group2 не используется, и регулярное выражение после просмотра вперед должно снова совпадать с содержимым Group2, которое включает его как часть Group1.
(?<Group1>a(?=(?<Group2>b))bc)
Group1: ABC # Неправильно, поскольку B участвует в матче. Группа 2: B
Как я могу игнорировать "B" в матче Group1?
Любая помощь в решении этой проблемы приветствуется.
Спасибо, Баладжи