Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl

正規表現の囲み文字を変更する - m//

Perlでは正規表現の囲み文字を変更することができます。

正規表現はパターンマッチ演算子を組み合わせて以下のように書くことができましたね。

$string =~ /cat/

でもここで、たとえば、URLのパスにマッチさせたい場合を考えてみてください。スラッシュをエスケープして次のように書けます。

$string =~ /\/foo\/bar\/baz/

ちょっと読みずらくないですか。Perlではこんな場合、正規表現の囲み文字「/」を別の囲み文字に変える方法があります。次のように書きます。

$string =~ m|/foo/bar/baz|

先頭に「m」を付けて、囲み文字を別のものに変更します。以下の組み合わせなどが囲み文字としてつかえます。

m|正規表現|
m#正規表現#
m!正規表現!

sを使って置換をする場合も同じように利用できます。

s|正規表現|置換後の文字列|
s#正規表現#置換後の文字列#
s!正規表現!置換後の文字列!
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。