2012-11-17 5 views
0

정규 표현식에서 캡처 그룹을 참조 할 수 있습니까? 당신이이 문자열이있는 경우정규식 내에서 캡처 그룹을 참조하는 방법은 무엇입니까?

예는, 하나는 다음과 같습니다

Person: Name is Bob. Type: Person 

그리고 다른 :

Animal: Name is Jupiter. Type: Animal 

는이 같은 수행 할 수 있습니다

(Person|Animal): Name is (.+). Type: $1 

아이디어의 존재를, 첫 번째 포획 그룹의 결과를 사용하여 사람이나 동물의 여부를 결정한 다음 그 결과를 $1은 문장을 완성하는 것입니다.

$ 1이 아니라면 다른 운영자와 함께 할 수 있습니까?

+0

이런 종류의 것은 당신이 말하는 정규 표현식 엔진에 의존합니다. 어떤 정규식 엔진을 사용하고 있습니까? 아니면 적어도 어떤 언어를 사용하고 있습니까? (그래서 추측 할 수 있습니까?) –

+0

@KeithGaughan 저는 PHP를 사용하고 있습니다. 나는 그것을 추가 할 것이다. –

+0

정답을 수락하지 않는 이유는 무엇입니까? –

답변

2

그것은 당신이 당신은 패턴 ('\1', & 다.) 또는 명명 된 사람 ('(?P=pattern-name)')에 번호를 역 참조를 사용할 수를 참조하고 PCRE을 있다면.

+1

다음은 찾고있는 PHP 매뉴얼의 일부입니다 : http://php.net/manual/en/regexp.reference.back-references.php –

관련 문제