나는이 디자인 정규식을 도울 수있는 좋은 게시물입니다 생각합니다. 그것의 비교적 쉽게
문자열을 일치하는 일반적인 정규식을 작성하는 동안, 때로는 그것의 역순으로 후에 참조로
설계 도움이. 때로는 어떤 bizzar 것들이 일치 하는지를 볼 필요가 있습니다.
많은 메타 문자를 리터럴로 혼합하는 경우 읽기 쉽고 오류를 피하기 위해
을 이러한 형식으로 지정하는 것이 매우 중요합니다.
다음은 Perl에서 프로토 타입을 만드는 것이 더 쉽다는 샘플입니다.
my @samps = (
'{[/abcd asdfasefasdc]}',
'{[# ]}',
'{[# /# \/]}',
'{[/# {[
| /# {[#\/} ]}',
,
);
for (@samps) {
if (m~{\[([#/][^ ]*) ([^]]*)\]}~)
{
print "Found: '$&'\ngrp1 = '$1'\ngrp2 = '$2'\n===========\n\n";
}
}
__END__
Expanded
\{\[
(
[#/][^ ]*
)
[ ]
(
[^\]]*
)
\]\}
출력
Found: '{[/abcd asdfasefasdc]}'
grp1 = '/abcd'
grp2 = 'asdfasefasdc'
===========
Found: '{[# ]}'
grp1 = '#'
grp2 = ''
===========
Found: '{[# /# \/]}'
grp1 = '#'
grp2 = '/# \/'
===========
Found: '{[/# {[
| /# {[#\/} ]}'
grp1 = '/# {[
|'
grp2 = '/# {[#\/} '
===========
출처
2012-03-07 17:20:45
sln
작동 ... 감사 설명 및 설명서 –
@ 알렉스에 대한 많은 : 천만에요을! – ruakh