OR이라는 두 그룹이있는 정규 표현식이 있습니다. 그룹을 역 참조로 사용할 수 있는지 궁금합니다. 일치하는 경우 모든 경우에, 나는 일치 꿔 spam.eggs.com정규 표현식의 "선택 사항"역 참조
예 :
import re
monitorName = re.compile(r"HQ01 : HTTP Service - [Ss][Rr][Vv]\d+\.\w+\.com:(\w+\.\w+\.(?:net|com|org))|(\w+\.\w+\.(?:net|com|org))")
test = ["HQ01 : HTTP Service - spam.eggs.com",
"HQ01 : HTTP Service - spam.eggs.com - DISABLED",
"HQ01 : HTTP Service - srv04.example.com:spam.eggs.com",
"HQ01 : HTTP Service - srv04.example.com:spam.eggs.com - DISABLED"]
for t in test:
m = monitorName.search(t)
print m.groups()
가 생산 :
(None, 'spam.eggs.com')
(None, 'spam.eggs.com')
('spam.eggs.com', None)
('spam.eggs.com', None)
그것은 좋은 것 경우 내 그룹 것 만 반환 내 하나의 일치하는 그룹과 둘 다 아닙니다.
Duh! 완벽하게 이해합니다. 고맙습니다! – TheDude