문제

나는 단지 perldocs를 검색하던 중에 이 예를 발견했습니다( http://perldoc.perl.org/perlre.html#Regular-Expressions - 캡처 그룹 예 참조)

"aa" =~ /${a}/; # True
"aa" =~ /${b}/; # True
"aa0" =~ /${a}0/; # False!
"aa0" =~ /${b}0/; # True
"aa\x08" =~ /${a}0/; # True!
"aa\x08" =~ /${b}0/; # False

해당 구문이 무엇을 의미하는지에 대한 문서를 찾을 수 없습니다.

그렇다면 이 맥락에서 정규식 /${a}/는 무엇을 의미합니까?

도움이 되었습니까?

해결책

$ 괄호가있는 $ 가변 이름의 모호성을 피하십시오.그런 :

$foo = 'house';
'housecat' =~ /$foo/;      # matches
'cathouse' =~ /cat$foo/;   # matches
'housecat' =~ /${foo}cat/; # matches
.

또한 주어진 링크에서 $ A와 $ B에 대한 정의가 있지만 여기에 복사하는 것을 잊어 버렸습니다.

다른 팁

구분을 위해 중괄호가 필요합니다. $a ~에서 $a0.토크나이저는 탐욕적이므로 변수 이름은 가장 긴 순서 가능.변수 보간에서 다른 알파벳이나 숫자가 뒤따르면 다음이 필요합니다. ${name} 통사론.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top