perl에서 이상한 동작이 발생합니다. "Beginning"에 일치하는 정규 표현식 ($ reg)이 주어지면 "1"또는 "2"그리고 "End"는 "1 \ n"과 일치합니다 - 왜?개행 문자가 포함되어 있지만 일치하지 않는 경우 정규식이 일치합니다.
my $reg='^[1-2]$';
my $x="1\n";
if ($x =~ m/$reg/) {
print "matches";
} else {
print "doesn't match";
}
$ x에 두 개의 개행을 사용하면 더 이상 일치하지 않습니다. 위 코드와 일치하지 않는 코드를 찾고 있습니다. "1"또는 "2"가 $ x에있을 때만 참이어야합니다. RegEx 만 허용됩니다 - chomp 또는 기타 비교/대체가 없습니다.
Ahh. 그게 전부 야. 고마워요! – int2000
+1, qr // 컴파일 된 정규식을 언급 할 가치가 있습니다. –