2012-05-09 2 views
3

필자는 Perl 6이 마지막 그룹이나 전체 일치 그룹 문자열 만 캡처 할 수있는 이전 버전과 달리 반복 그룹을 별도로 캡처 할 수있는 기능을 제공한다고 생각합니다. 누군가 펄 (Perl) 6의이 멋진 기능을 사용하는 좋은 예를 들어 주시겠습니까? 예 :Perl 6 매치 그룹 반복 캡처?

내가 뭘 어떻게이 정규식

((?:(?:(?:(?:")(?:[^"]*?)")|(?:(?<!")(?:[^"]*?)(?!")))(?<!\\)\|)*) 

에 대한 모든 일치하는 그룹을 캡처 할 필요가 펄 6?

+3

샘플 입력에 수신하려는 출력을 제공하십시오. – mob

답변

3

일반적으로 캡처를 계량하면 모든 일치 항목의 목록을 얻을 수 있습니다. 예 : 너무 위치 캡처와

$ perl6 -e '"abc" ~~ /<alpha>+/ and say $<alpha>.join(", ")' 
a, b, c 

작품 :

$ perl6 -e '"abc" ~~ /(\w)+/ and say $0.join(", ")' 
a, b, c 

지금 당신은 인위적으로 복잡한 보이는 자신의 정규식에 그것을 적용 할 수 있습니다. 어떤 방식으로 생성 되었습니까?

+0

고마워 .. 아니 그것은 텍스트 구문 분석의 매우 구체적인 경우에만 생성되지 않습니다 .. – bootkick