2014-05-12 4 views
4

자바의 정규식에 \number이 있다는 것은 무엇을 의미합니까?자바 RegEx 백 슬래시 번호

내가 \1 또는 \2과 같은 것을 가지고 있다고 가정 해 봅시다. 이것은 무엇을 의미하며 어떻게 사용됩니까? 예제가 도움이 될 것입니다. 이전 캡처 그룹과 일치 할

감사

+0

'\ number'는 [단순한 Google 검색]을하기에는 너무 게으른 것을 의미합니다 (http://stackoverflow.com/questions/8624345/whats-the-meaning-of-a-number-after-a- backslash-in-a-regular-expression)을 "regex backslash number"에 사용합니다. 희망이 도움이됩니다. – tenub

+1

나는 .. 신속하고 유용한 솔루션을 찾지 못했습니다 .. –

+0

@tenub 필자가 정확하게 제목을 입력하면 검색 결과 페이지에 질문에 대한 결과가 즉시 나타나지 않습니다. 유용 할 가능성이 가장 높은 링크를 추측해야합니다. – ajb

답변

5

역 참조는 동일한 텍스트를 일치합니다. 한 쌍의 여는 내용과 닫는 HTML 태그 및 그 중간의 텍스트를 일치 시키려한다고 가정하십시오. 시작 태그 을 역 참조로두면 닫는 태그 태그의 태그 이름을 다시 사용할 수 있습니다.

<([A-Z][A-Z0-9]*)\b[^>]*>.*?</\1>

이 정규식 문자열 이

[A-Z][A-Z0-9]*

역 참조 \1 (백 슬래시 일) 참조 첫 번째 캡처 그룹과 일치 캡처 괄호의 한 쌍을 포함 방법은 다음과 같습니다 : . \1은 첫 번째 캡처 그룹과 일치하는 정확히 동일한 텍스트 과 일치합니다. 문자가 리터럴 문자가되기 전에 /입니다. 이는 닫는 HTML 태그의 슬래시입니다. 자세한 내용과 예제는

확인 : 보통 http://www.regular-expressions.info/backref.html

+1

좋은 답변이지만 독자 들께서 정규식을 사용하여 H #^@을 (를) 파싱 할 수 있다고 생각하는 것이 좋지 않습니다.오 주여, 나는 말할 수 없다 ... 그 질문에 연결하지 말아라. ... – ajb

+1

우리는 '<(GROUP_1)> (GROUP_2)을 가지고 있다고 가정 해 보자. '. 이것은'\ 2'가''에있는'GROUP_2'에 정의 된 동일한 정규 표현식을 넣을까요? –

+1

@ 모하메드 예 ... –

0

\는 일치의 건설의 시작에 사용됩니다. 이스케이프 문자도 나타냅니다.

+1

이것은 질문에 대답하지 않습니다. – ajb

관련 문제