2017-05-17 2 views
2

나는 다음과 같은 정규식했다 없애?정규식 캡처 그룹

여기에 같은 즉 일치하는 검색 결과가 없습니다 (?i)p?ip으로 쓰기 가능해야합니다. https://regex101.com에 대해 생각합니다. 비 캡쳐 그룹과 함께 (?:?i)p\[email protected](?:-)?\w+(?:-\w+)?(?:\.\w+)?\.at을 사용할 때만 오류가 발생합니다.

결국 python3은 정규식을 평가해야합니다.

+1

[** expression works **] (https://regex101.com/r/wHgZNz/1) - 수식어를 표현식 외부에 배치하거나 [**'(? i) p \ w + (? : -) \ w + (? : - \ w +)? (? : \. \ w +)? \. at ** ** (https://regex101.com/r/wHgZNz/2) – Jan

답변

5

첫 번째 그룹 인 (?i)은 캡처 그룹이 아니며 플래그 집합이며 표현식의 대소 문자를 구분하지 않습니다. 비 캡처 버전은 다음과 같아야합니다.

(?i)p\[email protected]?\w+(?:-\w+)?(?:\.\w+)?\.at 

정확하게 일치하는 버전이어야합니다.

+0

언급 한 사이트 regex101에 원본 표현식을 붙여 넣을 때 "표현식"창의 첫 번째 섹션에 포함됩니다. "(? i) 패턴의 나머지 부분을 다음 유효 플래그와 일치시킵니다. gif i 한정자 : 대/소문자를 구분하지 않음 대/소문자를 구분하지 않음 ([a-zA-Z]의 대소 문자를 무시함) " – Adrian

+1

물고기의 경우 +1 ;-) – Jan

0

당신은

(?i)p\[email protected](?:-)?\w+(?:-\w+)?(?:\.\w+)?\.at 

a demo on regex101.com를 참조 사용할 수 있습니다.
(?i)(?s) (단일 선) 또는 (?m) (다중 선)과 같은 인라인 수정 자입니다.

+0

이 기능이 작동하고 원본이 왜 작동하지 않는지에 대한 설명이 없습니까? – Adrian

+0

확실히. 물고기와 모든 것을 가르치는 남자 :) – Adrian