アプリ版:「スタンプのみでお礼する」機能のリリースについて

"\section"という文字列を含む行を取り出したいと思い、

if(/\\section/)
と書けば、普通に動作しました。

そこで$section = "\\section"と変数に代入して

if(/${section}/)と書くとうまくマッチしないようなのですが、何がまずいのでしょうか?

ご教示頂けますよう、よろしくお願いします。

A 回答 (2件)

/\Q$section/





index($_, $section) >= 0

でどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

\Q...\Eでくくればよかったんですね。

無事に解決しました。
ありがとうございました。

お礼日時:2005/04/05 16:11

結論から言うと、


if(/$section/)の中は、if(/\section/)として評価しているようなので、

$section="\\\\section";

にしないと通らないようです。

この回答への補足

$section="\\\\section";

という記述をすると、$sectionはマッチングで使うという用途が限られた変数になってしまい、普通の文字列として扱えない不都合があると思うのですが、何か対処法はないものでしょうか?

補足日時:2005/04/05 13:48
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

そうですね。
単純に、$sectionを表示させてみれば良かったんですね。

ということは、""ダブルクオーテーション内部では、バックスラッシュは制御文字扱いで、バックスラッシュ2つ\\で、1つになるということですか。

#基本なんだろうな。。。

お礼日時:2005/04/05 12:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!