Я использую логическую логику для поиска в регулярных выражениях, но она не работает. В частности, часть выражения «а не» не работает.
Пример: Gi3/3
должно совпадать, но Gi3/3(P)
НЕ должно совпадать.
for line in infile:
int = re.search(r"Gi\d\/.+", line, flags=re.IGNORECASE) or re.search(r"Eth\d\/.+", line) and not re.search(r"^Gi\d\/.+\(P\)$", line)
Когда приведенный выше код выполняется, я вижу совпадения на Gi3/3(P)
и не ожидаю этого.