自分用メモ。
正式なマニュアルはプログラミング言語 Ruby リファレンスマニュアル。
/…/i | 大文字小文字を無視。 |
/…/s | Shift_JISとしてマッチ。 |
/…/e | EUC-JPとしてマッチ。 |
/…/u | UTF-8としてマッチ。 |
/…/n | 1バイト文字としてマッチ。 |
/…/x | 空白および#以降の文字を無視。 |
/…/m | .が改行にもマッチ。 |
^ | 行頭。(→\A:文字列先頭) |
$ | 行末。 |
. | 改行を除く任意の 1 文字。 |
\a | ベル(0x07)。 |
\A | 文字列先頭。 |
\b | 語境界。バックスペース(0x08)。(→\B:非語境界) |
\d | 数字。[0-9] と同じ。(→\D:非数字。) |
\e | エスケープ(0x1b)。 |
\f | 改ページ(0x0c)。 |
\G | 前回マッチした箇所(の直後)。 |
\n | 改行(LF:0x0a)。UNIXの改行。 |
\r | 復帰(CR:0x0d)。Mac(Classic)の改行。 |
\r\n | 復帰+改行。DOS/Windowsの改行。 |
\s | 空白文字(文字としては0x20)。[ \t\n\r\f] と同じ。(→\S:非空白文字。) |
\t | タブ(0x09)。 |
\v | 垂直タブ(0x0b)。 |
\w | 英数字。[0-9A-Za-z_] と同じ。(→\W:非英数字。) |
\z | 文字列末尾。改行あれば改行。(→\Z:文字列末尾。改行あればその直前) |
\1, \2… | 後方参照。 |
[ ] | 文字クラス指定。 ^は直後の正規表現以外の表現。 ^, -, ], \は\でエスケープしてその文字として扱う。 |
? | 直前の正規表現の 0 または 1 回の繰り返し。 |
?? | 直前の正規表現の 0 または 1 回の繰り返し(最短一致)。 |
* | 直前の表現の 0 回以上の繰り返し(最長一致)。 |
*? | 直前の表現の 0 回以上の繰り返し(最短一致)。 |
+ | 直前の表現の 1 回以上の繰り返し(最長一致)。 |
+? | 直前の表現の 1 回以上の繰り返し(最短一致)。 |
{m} | m回繰り返し。 |
{m,} | m回以上繰り返し。 |
{m,n} | m回以上最大n回繰り返し。 |
{m}? | m回繰り返し(最短一致)。 |
{m,}? | m回以上繰り返し(最短一致)。 |
{m,n}? | m回以上最大n回繰り返し(最短一致)。 |
| | 選択。 |
( ) | 正規表現のグループ化。 |