PERLDOC変数構文:$ foo vs $ {foo}
質問
私は例でこれに遭遇したときにPERLDOCを閲覧していました( 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
を曖昧させるには、ブレースが必要です。トークナイザーは貪欲であるため、変数名は longest sequenceが可能です。変数補間内の別のアルファベットまたは数字が次の場合は、${name}
構文が必要です。
所属していません StackOverflow