IT

정규식 :? : 표기법 (물음표 및 콜론 표기법)

lottoking 2020. 9. 5. 10:09
반응형

정규식 :? : 표기법 (물음표 및 콜론 표기법) [중복]


이 질문에 이미 답변이 있습니다.

작성하지 않은 다음 Java 정규식을 수정하려고합니다.

^class-map(?:(\\s+match-all)|(\\s+match-any))?(\\s+[\\x21-\\x7e]{1,40})$
           ^                                 ^

이것 과 비슷합니다 .

첫 번째 물음표에 유의하십시오. 그룹이 선택 사항이라는 의미입니까? 해당하는 단어가 이미 물음표가 있습니다 ). 콜론은 정규식에서 특별한 의미가 있습니까?

JUnit 테스트가 이미 작동 방식으로 작동합니다. 왜 첫 번째 물음표와 콜론이 있는지에 대해 약간의 혼란 스럽습니다.


(?:활동하지 않는 그룹을 시작합니다. (사용 후 정규식에서 그룹을 검색하지 않는 한 다르지 언어 . 비핵 그룹이란?을 참조하십시오 . 물음표 다음에 콜론 (? :)이 오는 것은 무엇을 의미합니까? .


이 체계에 조금 늦었습니다 -ryanp의 답변을 구축하기 위해.

당신이 부모님을 가지고 가정 aaabbbccc

정규식

(a)+(b)+(c)+

일치하는 다음 3 개의 그룹이 제공됩니다.

['a', 'b', 'c']

움직이지 않는 괄호가있는 정규식

?:첫 번째 그룹에서 사용

(?:a)+(b)+(c)+

일치하는 다음 그룹을 얻을 수 있습니다.

['b', 'c']

따라서 " non-캡처 괄호" 라고하는 이유

사용 사례 예 :

괄호를 사용합니다. 예를 들어 |또는 연산자 의 경계를 설정 비용 :

"New (York|Jersey)"

이 경우 또는 |스위치에 괄호 만 사용하고 널리 사용되는 데이터를 효율적으로 사용하고 있습니다. 근무하지 않는 괄호를 사용하여 다음을 나타냅니다.

"New (?:York|Jersey)"

참고 URL : https://stackoverflow.com/questions/11530862/regex-notation-question-mark-and-colon-notation

반응형