2011-02-03 5 views
1

왜 이것들은 똑같이 동작하지 않습니까?Perl에서 정규 표현식을 사용하여 문자열 분할하기

perl -e '$x = "12aba34ba5"; $, = ", "; print split /[ab]/, $x;' 
12, , , 34, , 5 

perl -e '$x = "12aba34ba5"; $, = ", "; print split /(a|b)/, $x;' 
12, a, , b, , a, 34, b, , a, 5 
+0

두 번째 분할로 그룹화합니다. '/ [ab] /'를'/ ([ab]) /'로 그룹화하면 같은 결과를 얻을 수 있습니다. 물론 –

답변

2

이는 perldoc split에 설명되어 패턴 괄호 포함

경우 추가리스트 요소는 분리 각 정합 문자열로부터 생성된다.

역 참조를하지 않으려면 (?:a|b)을 사용할 수 있습니다.

+0

아. 감사. – aidan

관련 문제