Perl, Kikki 및 Kodos 간의 정규식 처리 차이점

Perl, Kikki 및 Kodos 간의 정규식 처리 차이점
#!/usr/bin/perl

$mystring = "[2004/04/13] The date of this article.";
if($mystring =~ m/(\d+)/) {
        print "The first number is $1.";
}

Perl이 돌아왔지만 2004Kiki와 Kodos도 돌아왔습니다 /04/. 왜?

답변1

Python 코드(또는 Kiki 및 Kodos가 무엇인지)를 제공하지 않았기 때문에 확실히 알기는 어렵지만 내 생각에는 Kiki 및 Kodos의 패턴 구문이 슬래시 구분 기호가 필요하지 않다는 점에서 Perl과 다르다는 것입니다. 예를 들어 Python에서는 다음과 같습니다.

import re
m = re.search('(\d+)', "[2004/04/13] The date of this article.")
print m.group(0)

이 패턴에는 슬래시가 포함되어 있지 않습니다.

답변2

Perl에서는 정규식 연산자가 m이중 슬래시 /..../( ....실제로는 정규식)가 아니라는 점을 인식하는 것이 중요합니다. m를 사용하는 경우 선택 사항입니다 /.

다음은 모두 동일합니다.

$mystring =~ m/(\d+)/;

$mystring =~ /(\d+)/;

$var = '(\d+)';
$mystring =~ /$var/;

관련 정보