2010-04-16 2 views
6

this question에서 방금 배웠 듯이 .NET regexes can access individual matches within a repeated capturing group입니다. 나는 단어의 문자열로 \b(\w+\s*)+ 같은 정규식을 적용 할 경우어떤 정규 표현식이 (그룹 캡처가 아니라) 캡처를 지원합니까?

I.는 전자., 마지막 단어 \1 또는 Match.Groups(1).Value에 저장하지만 나는 모든 개인에게 접근 할 수 Match.Groups(1).Captures을 사용하면 정규식을 통해 반복과 일치한다.

.NET 이외에도 이것을 지원하는 다른 정규 표현식이 있습니까?

+1

정말! 나는 그것을 몰랐다. +1 – YOU

+0

이것이 Jan Goyvaerts의 전화 일 수도 있습니다. – YOU

답변

4

필자가 아는 한 .NET과 Perl 6만이 그 기능을 제공합니다.

+0

Perl 6 주셔서 감사합니다. JGSoft 엔진이 약간의 정밀 검사를 수행 한 것처럼 보입니다. 캡처는 유용한 기능을 좋아하는 것 같습니다. 재귀 적/균형 잡힌 정규 표현식이 좋은 것인지 또는 정규 표현식을 완전히 유지할 수 없게 만들지 여부는 여전히 울타리에 있습니다. –

+0

재귀 * 또는 * 중간 캡처가 필요하다면 정규 표현식을 사용하지 않아야한다고 생각하는 경향이 있습니다. 적어도 Perl 5 시대 regexes; Perl 6은 regex 구문에 대한 주요 변경 사항을 포함하고있어 이와 같은 고급 기능을 사용하기 쉽고 작성한 내용을 계속 읽을 수 있습니다. –

+0

방금 ​​Perl 6 regex 문서를 살펴 봤습니다. 와우, 그건 Perl 5에서 꽤 바뀐 것이다. –

관련 문제