반응형
포함 된 내용을 캡처하지 않고 정규식에서 OR를 사용할 수 있습니까?
내 정규식을 빌드하기 위해 rubular.com 을 사용 하고 있으며 해당 문서는 다음을 설명합니다.
(...) Capture everything enclosed
(a|b) a or b
OR 표현식을 캡처하지 않고 어떻게 사용할 수 있습니까? 예를 들어 "ac"또는 "bc"를 캡처하고 싶습니다. 정규식을 사용할 수 없습니다.
(a|b)(c)
권리? 그 이후로 한 그룹에서 "a"또는 "b"를 캡처하고 다른 그룹에서 "c"를 캡처합니다. 캡처 된 결과를 필터링 할 수 있다는 것을 알고 있지만 작업이 더 많은 것 같습니다.
나는 명백한 것을 놓치고 있습니까? 적절한 경우 Java에서 이것을 사용하고 있습니다.
정규식 구현에 따라 다음 구문과 함께 소위 비 캡처 링 그룹 을 사용할 수 있습니다 (?:…)
.
((?:a|b)c)
여기 (?:a|b)
에 그룹이 있지만 일치 항목을 참조 할 수 없습니다. 따라서 일치하는 항목은 또는 ((?:a|b)c)
중 하나만 참조 할 수 있습니다 .ac
bc
구현에 포함 된 경우 캡처되지 않는 괄호를 사용할 수 있습니다.
(?:a|b)
루 블러도 괄호를 사용하지 않으며의 우선 순위 |
가 낮습니다. 예를 들어 a | bc는 ccc와 일치하지 않습니다.
반응형
'Programing' 카테고리의 다른 글
Vi (m)에서 편집중인 파일을 실행하는 방법 (0) | 2020.08.28 |
---|---|
선택 항목 =… 이름으로 Django IntegerField 설정 (0) | 2020.08.28 |
튜플이 해결하도록 설계된 요구 사항은 무엇입니까? (0) | 2020.08.28 |
동일한 클래스 내의 메서드에 의한 Spring @Transaction 메서드 호출이 작동하지 않습니까? (0) | 2020.08.28 |
인터페이스의 모든 필드가 암시 적으로 정적이고 최종적인 이유는 무엇입니까? (0) | 2020.08.28 |