В регулярном выражении python именованные и безымянные группы определяются с помощью '(' и ')'. Это приводит к странному поведению. Regexp
"(?P<a>1)=(?P<b>2)"
, используемый с текстом "1 = 2", найдет именованную группу "a" со значением "1" и именованную группу "b" со значением "2". Но если я хочу использовать логический оператор или оператор и объединить несколько правил, следующее регулярное выражение:
"((?P<a>1)=(?P<b>2))|(?P<c>3)"
, используемый с тем же текстом "1 = 2", найдет группу без имени со значением "1 = 2". Я понял, что механизм регулярных выражений обрабатывает "(" и ")", который включает группы "a" и "b", как неназванную группу и сообщает, что она найдена. Но я не хочу, чтобы о неназванных группах сообщали, я просто хочу использовать "|" чтобы "склеить" несколько регулярных выражений вместе. Без создания каких-либо паразитических неназванных групп. Это способ сделать это в Python?