Perl入門ゼミ

  1. Perl
  2. 演算子
  3. here

qr演算子 - 正規表現のリファレンスを作成する

qr演算子」で正規表現のリファレンスを作成することができます。qr演算子を使うと、正規表現をリファレンスとして変数に保存できます。正規表現のオプションも含めて保存できます。正規表現が、コンパイルされるので、繰り返しパターンマッチを行う場合、高速に動作します。

# 正規表現のリファレンス
my $regex = qr/\d+/sm;

パターンマッチを行うときは//の中に入れることもできますし、そのまま使用することもできます。//の中にいれたほうが少し見やすと思います。

# //の中で使用
if ($str =~ /$regex/) {
  ...
}

# そのまま使用
if ($str =~ $regex) {
  ...
}

リファレンスって何?

リファレンスについては以下の記事で詳しく解説しています。

サンプル

正規表現のリファレンスを使ったサンプルです。

use strict;
use warnings;

# qr// を使うとオプションも含めて変数に保存できます。
# (gオプションは、指定できません。)
my $word = "ababab";
my $regex = qr/A/i; 
                    
my $replace = 'c';

$word =~ s/$regex/$replace/g; 
print "\$word = $word\n";

実行結果。

$word = cbcbcb