個人的「質はともかく継続する」12日目です
正規表現メモ
メモとしてgithub上に残しておいた正規表現メモです。
良く忘れるし、githubの方は全然見なくなっていたので
こちらにお引越しします。
用語
メタ文字
特別な意味のある文字
リテラル
ふつうの文字
パターン
演算子のこと
接頭辞・Prefix
文字の頭につける値
接尾辞・Suffix
文字の後ろにつける値
部分文字列・Substring
文字の間につける値
完全一致
完全に一致する
部分一致
一部分だけ一致する
前方一致
前方に一致する
後方一致
後方に一致する
アンカー
文字位置にマッチする
moji | mean |
---|---|
^ | 行頭 |
$ | 行末 |
¥A | テキストの先頭 |
¥z | テキストの終端 |
¥b | 文字列の間 |
¥B | 文字列以外 |
エスケープシーケンス
バックスラッシュを頭につけて特殊文字を表す
moji | mean |
---|---|
¥t | タブ |
¥n | 改行 |
¥s | スペース |
¥000 | 8進ASCII |
¥x00 | 16進ASCII |
¥d | ¥[0-9¥] |
¥D | ¥[^0-9¥] |
¥w | ¥[A-Za-z0-9¥] |
キャプチャ
正規表現に¥(¥)をつかうと、その部分に連番が振られて、
変数のように取り出す事ができる。
*エンジンやプログラム言語によって変数にできたり使えなかったりする。
2021/10/23
この文字列の数字部分を以下のようにキャプチャする
(¥d{4})(¥d{2})(¥d{2})
前から順に以下のようになる
$1 = 2021
$2 = 10
$3 = 23
これを使って置換することができる
----------------------------
検索 (¥d{4})(¥d{2})(¥d{2})
----------------------------
置換 $3,$1,$2
----------------------------
結果 23/2021/10