次のような新しい行を含む入力がある場合:
[INFO]
xyz
[INFO]
$
アンカーを使用してxyzパーツを引き出すにはどうすればよいですか?私はのようなパターンを試しました/^\[INFO\]$(.*?)$\[INFO\]/ms
が、perlは私に:
Use of uninitialized value $\ in regexp compilation at scripts\t.pl line 6.
アンカーが期待どおりに機能するように補間を停止する方法はありますか?
編集:重要なのは、行末アンカーがドル記号であるということですが、パターン全体に行末アンカーを散在させる必要がある場合があります。パターンが補間している場合は、初期化されていないなどの問題が発生する可能性があります$\
。たとえば、ここで受け入れられる解決策はです/^\[INFO\]\s*^(.*?)\s*^\[INFO\]/ms
が、それは最初の問題の核心を解決しません。アンカーを変更して、^
補間が行われないようにしました。この入力を使用して、自由に行うことができます。$
しかし、パターンでEOLを実際に参照したい場合はどうでしょうか。正規表現をコンパイルするにはどうすればよいですか?