✏️
(自分が)覚えたい正規表現
エスケープが必要な文字をよく忘れる
メタ文字
メタ文字 | 動作 |
---|---|
^ |
行頭 |
$ |
行末 |
. |
任意の1文字 |
(.+?) |
ひとつながりの文字列 |
\ |
直後のメタ文字をエスケープする |
[\r\n]+ |
改行 ※3種類の改行コード全てを対象にできる |
検索・置換
検索メタ文字 | 置換メタ文字 | 動作 |
---|---|---|
\x20{2,} |
(空) | 2つ以上連続した半角スペースを削除する ※半角スペースはそのまま でもOKのはず |
(.+?)●●●\.jpg |
$1$2.jpg |
JPGファイル名から共通の文字列を削除する |
^(.+?)\.jpg |
●●●$1$2.jpg |
JPGファイル名の最初に共通の文字列を追加する |
<img (.+?)> |
<img $1 ●●●> |
画像タグに共通の文字列を追加する |
(.+?)\.(gif|jpg|jpeg|png|svg|webp|avif) |
(空) | 画像ファイルを拡張子で指定する |
行ごとに検索・置換
検索メタ文字 | 置換メタ文字 | 動作 |
---|---|---|
^.*●●●.*[\r\n]+ |
(空) | 特定の文字を含む行を削除する |
^(?!.*●●●).*[\r\n]+ |
(空) | 特定の文字を含まない行を削除する |
^.*\.●●●[\r\n]+ |
(空) | 特定の拡張子で終わる行を削除する |
^$[\r\n]+ |
(空) | 空行を削除する ※改行のみ |
^[ \t]*?$[\r\n]+? |
(空) | 空白行を削除する ※改行+半角スペース+タブ文字 |
^\s*?$[\r\n]+ |
(空) | 空白行を削除する ※改行+空白文字(半角/全角スペース、タブ文字、改行コード、改ページ) |
(^.*$)([\r\n]+(^\1$)){1,} |
$1 |
重複行を削除する ※事前に昇順または降順でソートしておく必要がある |
参考
Discussion