正規表現の構文
正規表現を作成すると複雑な検索をすることができます。
正規表現 | 説明 |
a | 文字a |
abc | 文字列abc |
[abc] | 文字a,b,cのいずれか |
[a-c] | 文字a~cのいずれか |
[^abc] | 文字abcのいずれでもない |
. | 任意文字 |
abc|def | 文字列abc、文字列def |
^a | 行頭がa |
a$ | 行末がa |
a* | aが0文字以上。最大マッチング |
a+ | aが1文字以上。最大マッチング |
a? | aが0文字または1文字。最大マッチング |
a{n} | aがn個。最少マッチング |
a{n,} | aがn個以上。最少マッチング |
a{n,m} | aがn個~m個。最少マッチング |
[¥b] | バックスペース |
(?:a) | 文字a。ただし$1...$n参照から除外 |
a(?=b) | aに続いてb aにマッチ |
a(?!b) | aに続いてbでない場合 aにマッチ |
¥0 | NUL |
¥b | 単語の区切り |
¥B | ¥b以外 |
¥cX | Ctrl-X XはA-Zのいずれか |
¥d | 半角数字[0-9] |
¥D | ¥d以外 |
¥f | 改ページ |
¥n | 改行 |
¥r | 復帰 |
¥s | 区切り文字 |
¥S | ¥s以外 |
¥t | 水平TAB |
¥v | 垂直TAB |
¥w | _を含む半角英数[A-Za-z0-9_] |
¥W | ¥w以外 |
¥n | n番目にマッチした文字列 |
¥xhhh | 16進数hhh |
¥その他 | その他の文字自身 |
フラグ
フラグ | 説明 |
g | 2番目以降も検索する。 |
i | 大文字小文字を区別しない |
m | 複数行に対応 |
u | Unicodeのサロゲートペア文字も1文字として扱う |
y | lastIndexで指定した位置からのみ検索 |
記述例
マッチした文字
"12:34:56"を正規表現¥d+で検索すると "12" "34" "56"にマッチ(1個以上にマッチするように指定した場合)
"123 printf"を正規表現^¥d+¥s*で検索すると"123 "にマッチ
" printf"を正規表現^¥s*を正規表現¥d+で検索すると" "にマッチ
"printf //abcde"を正規表現¥/¥/.*$を正規表現¥d+で検索すると"//abcde"にマッチ