여러 패턴과 일치하는 Perl의 정규 표현식을 찾고 PHP에서 preg_match_all
같은 모든 것을 반환하려고합니다.Perl에서 전역 정규식 일치를 수행하려면 어떻게해야합니까?
여기에 내가 가진 무엇 :
이$str = 'testdatastring';
if($str =~ /(test|data|string)/) {
print "its found index location: $0 $-[0]-$+[0]\n";
print "its found index location: $1 $-[1]-$+[1]\n";
print "its found index location: $2 $-[2]-$+[2]\n";
print "its found index location: $3 $-[3]-$+[3]\n";
}
이는 나에게 이것에서 '테스트'첫 번째 일치를 제공합니다. 나는 'test', 'data'및 'string'과 같은 지정된 패턴의 모든 항목을 일치시킬 수 있기를 원합니다. '테스트', '데이터'와 '캐릭터'
if(preg_match_all('/(test|data|string)/', 'testdatastring', $m)) {
echo var_export($m, true);
}
위의 PHP 코드는 3 문자열을 일치합니다 :
나는 PHP, 당신은 목적이 종류으로, preg_match_all 사용할 수 있다는 것을 알고.
Perl에서이 작업을 수행하는 방법을 알고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다.
if/else 문에 어떻게 적용합니까? – Carel
해결 : (@list = $ str = ~ Regex) {True} {False}/regex/g을 사용하여 발견 된 항목을 목록으로 그룹화합니다. – Carel