マッチ演算子
評価の結果は真偽値としては、マッチすれば真、そうでなければ偽。 and, or, ! が役立つのは間違いない。
$_ にマッチさせる
/regex/
m:regex:
string にマッチさせる
string =~ /regex/
string =~ m:regex:
$_ の文字列置換
s/regex/new/
s:regex:new:
string の文字列置換
string =~ s/regex/new/
string =~ s:regex:new:
特殊なメタキャラクタ
^, $
- 行頭、末尾にマッチ
.
- ニューライン以外の任意の文字にマッチ
[chars]
- chars に含まれる任意の1文字にマッチ
- chars 内のバックスラッシュ付き英数字以外のメタキャラクタは、リテラル扱い
[^ chars]
- chars に含まれない任意の1文字にマッチ
- メタキャラクタの扱いは [chars] と同様
[char1-char2]
- char1 の char2 の間に入る任意の文字にマッチ
- char1, char2 を含む。
$&
- 最後にマッチした内容を保持
- 'Foo' =~ /^[A-Z]/ なら $& は F
\
- メタキャラクタに使ったり、エスケープに使う
\b
- 単語の区切りにマッチする
- 'abc def' にマッチさせたいときに、'Zabc def' にマッチしないよう、'babc def' と書いておく。
- アルファベットは、単語構成文字クラスなので、スペースや!は、b にマッチするが、Zはマッチしない。
\n
- ニューライン
\r
- キャリッジリターン文字
- カーソルを行頭に戻す
\t
- タブ
\f
- フォームフィード
- 改ページ
\e
- エスケープ文字
\NNN
- 8進数が NNN となる文字
- 例えば、040 はスペース
::: note ::: title Note :::