■区切り記号一覧
 Quote Constructs









 
意  味 標 準 汎用型 変数展開
変  数 ' ' q/ / な  し
変  数 " " qq/ / あ  り
配  列 ( ) qw/ / な  し
正規表現 " " qr/ / あ  り
パターンマッチ / / m/ / あ  り
置  換
 
s/ / /
 
s/ / /
s< >[ ]
あ  り
 
変  換
 
y/ / /
 
tr/ / /
tr< >[ ]
な  し
 
   ※1. / /, < >[ ] は、ペアの形をした任意のクオート文字(区切り記号)。
   ※2. / / には、/ / や | | などがよく用いられる。
 
 ■パターン結合演算子
 Pattern-binding Operators


 
記号 意   味
=~ マッチする
!~ マッチしない
   ※. 変数指定をしたときだけ否定形の結合演算子 !~ が使える。
 
 ■パターンマッチの特殊変数



 
記号  意    味
$&  マッチした文字列
$`  マッチした部分より前の文字列全て
$'  マッチした部分より後の文字列全て
 
 ■マッチ・置換用 オプションコード
 Pattern Modifiers







 
記号  意    味
i  半角英字の大文字と小文字を区別しない
g  処理の対象を文字列全域にする
m  ^ や$で検索するときに、改行文字 \n にも反応するようにする
s  ドット . が改行文字 \n にも反応するようにする
o
 
 パターン内の変数展開を最初の1回だけ行い、その値を固定する
 (ループでパターン内の変数展開を繰り返す場合に有効)
x  パターン内での半角スペース空けを無視する
 
 ■正規表現
 Regular Expressions






























 
正規表現  意   味
/a/  a 1文字
/abc/  連続した abc
/^a/  a から始まる
/^abc/  連続した abc から始まる
/a$/  a で終わる
/./  任意の1文字
/a./  a + 任意の1文字
/a../  a + 任意の2文字
/.a/  任意の1文字 + a
/..a/  任意の2文字 + a
/a|b/  a または b
/ab|cd/  ab または cd
/[ab]/  a または b
/[abc]/  a または b または c
/[i-j]/  数値の i〜j の何れか
/[i-j m-n]/  数値の i〜j, m〜n の何れか
/[a-c]/  文字の a〜c の何れか
/[a-c d-f]/  文字の a〜c, d〜f の何れか
/[^a]/  a 以外
/[^abc]/  連続した abc 以外
/[0-9]/  数値(0〜9 の何れか)
/^[0-9]/  数値で始まる(0〜9 の何れかで始まる)
/[A-z]/  半角の英大文字・小文字
/^[A-z]/  半角の英大文字・小文字で始まる
/[A-z]/  全角の英大文字・小文字
/^[A-z]/  全角の英大文字・小文字で始まる
/[ぁ-ん]/  ひらがな(ぁ〜んの何れか)
/^[ぁ-ん]/  ひらがなで始まる
/[ァ-ン]/  カタカナ(ァ〜ンの何れか)
/^[ァ-ン]/  カタカナで始まる
 
 ■正規表現のエスケープシーケンス
 Alphanumetric Regex Metasymbols




















 
記号  意    味
\
 
 文字記号の前につけて、記号のもつ意味を逃がす
 * + ? . ^ $ | \ ( ) [ ] { }
\A  文字列の先頭(1文字目の手前)に一致
\b  単語の境界に一致
\B  単語以外の境界に一致
\d  任意の数値1文字に一致
\D  数値以外の1文字に一致
\e  エスケープ文字 \ に一致
\E  大文字・小文字変換の終了
\l  次の1文字を小文字にする
\L  次以降を全て小文字にする
\n  改行文字 \n に一致
\s  半角スペース1文字に一致
\S  半角スペース以外の1文字に一致
\u  次の1文字を大文字にする
\U  次以降を全て大文字にする
\w  半角英数字と _ に一致
\W  半角英数字と _ 以外に一致
\z  文字列の最後に一致
\Z  文字列の最後(最後の改行の直前)に一致
 
 ■正規表現用リピート演算子
 Regex Quantifiers






 
最長マッチ 最短マッチ  意    味
* *?  0 回 以上、{0,} と同じ
+ +?  1 回 以上、{1,} と同じ
? ??  0 または 1 回、{0,1} と同じ
{n} {n}?  n 回 ちょうど
{n,} {n,}?  n 回 以上
{n,m} {n,m}?  n 回 以上 m 回以下
 
 ■正規表現のグループ化変数
 Grouping Operators



 
  記  号  意  味
( ) ( ) ( ) ・・・  グループ
\1, \2, \3, ・・・  パターン内マッチ変数
$1, $2, $3, ・・・  パターン外マッチ変数
 
 ■パターンマッチ演算子
 Pattern Matching Oprator


 
 マッチの対象 $_(標準)  マッチの対象 $a(指定)
標 準  /パターン/  $a =~ /パターン/
汎 用  m/パターン/  $a =~ m/パターン/
   ※1. / /, < >[ ] は、ペアの形をした任意のクオート文字(区切り記号)。
   ※2. 一般的には「汎用型」のm/ / が標準となっている。
 
 ■置換演算子
 Substitution Operator



 
 置換の対象 $_(標準)  置換の対象 $a(指定)
標 準  s/パターン/置換文字列/  $a =~ s/パターン/置換文字列/
汎 用
 
 s/パターン/置換文字列/
 s<パターン>[置換文字列]
 $a =~ s/パターン/置換文字列/
 $a =~ s<パターン>[置換文字列]
   ※1. / /, < >[ ] は、ペアの形をした任意のクオート文字(区切り記号)。
 
 ■変換演算子
 Transliteration Operator



 
 置換の対象 $_(標準)  置換の対象 $a(指定)
標 準  y/パターン/置換文字列/  $a =~ y/パターン/置換文字列/
汎 用
 
 tr/パターン/置換文字列/
 tr<パターン>[置換文字列]
 $a =~ tr/パターン/置換文字列/
 $a =~ tr<パターン>[置換文字列]
   ※1. / /, < >[ ] は、ペアの形をした任意のクオート文字(区切り記号)。
   ※2. tr は正規表現とは無関係。
   ※2. 一般的には「汎用型」の tr/ / が標準となっている。