1. Perl
  2. 標準関数
  3. here

quotemeta関数 - 正規表現文字のエスケープ

quotemeta関数を使用すると、正規表現で利用される文字列を通常の文字として扱うことができます。ワード文字以外のすべての文字の直前に\がつけられます。

# 正規表現文字列を通常の文字として扱う
$ret = quotemeta $str;

正規表現文字を含んだ文字列を通常の文字列としてパターンマッチさせるサンプルです。

# 正規表現文字を含んだ文字列を通常の文字列としてパターンマッチ
my $message = 'This message contains a{2}';

my $match = "a{2}";
$match = quotemeta $match;

if ($message =~ /$match/) {
  print "Match!\n";
}

quotemetaは正規表現の特殊文字である\Qと同じ意味を持ちます。上記のquotemetaは以下の記述と同じ意味にないます。

# \Qを使ってquotemetaと同じ意味を表現
my $match = "\Qa{2}";

正規表現については実践で役立つPerl正規表現 完全解説をご覧ください。

業務に役立つPerl

Perlテキスト処理のエッセンス

PerlでポータブルなLinuxファイル管理入門

ITエンジニアの求人情報など

 ITエンジニアの求人情報・Webサービス・ソフトウェア・スクールなどの情報。

システム開発のお問い合わせ