サクラエディタの正規表現は、なかなか使いこなすのに苦労します。
なので、このままコピって使えるように、大量の正規表現を用意しました。
一覧としてご活用いただければ幸いです。
また、大手ブラウザ「chrome」に特化したショートカットキーもこちらで紹介しているので、是非ご一読ください。
空白系
先頭の空白を詰める
ALT+L
正規表現ではありません。
末尾の空白を詰める
ALT+R
正規表現ではありません。
「半角空白」と「全角空白」と「タブ」を抽出する
( | |\t)
空白行を抽出する
^¥r¥n
行間を広げる(1行分)
置換前:\r\n
置換後:\r\n\r\n
増やしたいだけ置換後に\r\nを追加して下さい
アルファベット・数字・カナ
英字:小文字→大文字に置換する
置換前:(.)
置換後:\U$1
UpperのUです。
英字:大文字→小文字に置換する
置換前:(.)
置換後:\L$1
LowerのLです。
先頭の英字を大文字にする
置換前:^[a-z]
置換後:\U$1
アルファベットは小文字大文字を区別したい場合はダイアログボックスで☑を入れてください。入れなくても正常に動きます。
半角英字を抽出する
[a-zA-Z]
アルファベットは小文字大文字を区別したい場合はダイアログボックスで☑を入れてください。入れなくても正常に動きます。
全角半角数字を抽出する
[0-90-9]
漢数字を抽出する
[一二三四五六七八九〇]
漢数字は範囲指定できないのでベタ打ち。
ひらがなを抽出する
(\p{Hiragana}|[゙゚゛゜])(?!\p{Katakana})
これが全てのパターンに対応した完成形です。
\p{Hiragana}でもひらがなを検索することは出来ますが、「え゛」といった特殊な表現に対応していません。濁点、半濁点が一文字として扱われるためです。
否定的前読みによって、「カタカナ+濁点、半濁点(例:エ゛)」の例を検索から除外しています。
カタカナを抽出する
(\p{Katakana}|[゙゚゛゜])(?!\p{Hiragana})
エ゛などの特殊な表現にも対応しています。濁点、半濁点は機種依存文字を用いているとヒットしないので注意。
構造は、ひらがなのパターンと同じです。
漢字を抽出する
\p{Han}
数値系
小数点が使われている数値を抽出する
[0-9]+\.[0-9]+
整数部を抽出する
([0-9|\.]+)(?=\.)
小数部を抽出する
(?<=\.).[0-9]*$
整数部を抽出する(カンマ含む)
^[0-9]+.
小数部を抽出する(カンマ含む)
.[0-9]+$
整数部A桁、小数部B桁の数値を検索する
^([1-9][0-9]{A-1}|0)(\.[0-9]{B})?$
整数部では一番大きい位の0の場合の対応により、A-1となります。ご注意ください。
L桁以上の半角数字を検索する
[0-9]{L,}
○文字目・△文字より前後・×を含む行
先頭からN文字目までを抽出する
^.{N}
末尾からN文字目までを抽出する
.{N}(?=$)
M文字目からN文字を抽出する
(?<=^{M}).{N}
一番最後に出てくるSのみを抽出
S(?=[^S]+$)
S(?!.*S)でも可
一番最初に出てくるSまでを抽出する ※Sを含む
^[^S]+S
一番最初に出てくるSまでを抽出する ※Sを含まない
(^[^S]+)(?=S)
一番最初に出てくるS以降を抽出する ※Sを含む
(?=S)(.*)
一番最初に出てくるS以降を抽出する ※Sを含まない
(?<=S)(.*)
(.*)Sでも可
一番最後に出てくるSまでを抽出する ※Sを含む
(.*)(?=S)
一番最後に出てくるSまでを抽出する ※Sを含まない
(.*)[^S](?=S)
一番最後に出てくるS以降を抽出する ※Sを含む
S(?!.*S).*
一番最後に出てくるS以降を抽出する ※Sを含まない
(?<=S)(?!.*S).*
Sの前の文字を抽出する
[^S](?=S)
Sの次の文字を抽出する
(?<=S)[^S]
○○が含まれる行を抽出する ※改行を含む
.*(式や単語).*\r\n
これで何とかなります。単語の場合でも()は付けた方が良いです。複雑な正規表現となった場合、可読性が上がるためです。
○○が含まれる行を抽出する ※改行を含まない
.*(式や単語).*
※が含まれない行を抽出する ※空白行を含まない
^(?!.*※).+$
※が含まれない行を抽出する ※空白行を含む
^((?!※).)*$
()系
()内の文字を抽出する ※一番外側の()内
(?<=\().*(?=\))
()内の文字を抽出する ※入れ子の()内
(?<=\()[^\(\)]+(?=\))
[^\(\)]+ によって、()内に存在する「(」「)」が対象外となります。
()を含む、()内の文字を抽出する
\(.*\)
()と()をまとめて抽出する
[\(].*[\)]|[(].*[)]
よく使う実例
重複データをひとつだけにする
CTRL + A → ALT + M
重複したデータを削除し、Unique(ひとつ)として表示します
末尾に「。」がないものを抽出する
[^。]$
適切な郵便番号を抽出する
^[0-9]{3}-?[0-9]{4}$
末に$を付けないと、4ケタ以上のデータもヒットしてしまいます。
適切な携帯電話番号を抽出する
0[6-9]0-?[0-9]{4}-?[0-9]{4}$
末に$を付けないと、4ケタ以上のデータもヒットしてしまいます。
適切なIPアドレスを抽出する
^.*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,2})$
田中「部長」、山本「課長」のように役職名を付け忘れている行を抽出する
(^(?=.*田中)^(?!.*田中部長).*$)|(^(?=.*山本)^(?!.*山本課長).*$)
さらに人数を増やす場合は、「|」以降をコピペしてください。
半角数字以外を抽出する
[0-9一二三四五六七八九〇]
表記ゆれを防ぎます。
tdタグの中身を抽出する
(?<=<td>)[^</td>]+(?=</td>)
tdタグの中身(タグを含む)を抽出する
<td>.+?</td>
コメントタグを抽出する
<!–.*|.*?–>
単語の始まりが「株式会社」のものを抽出する
\b株式会社
「株式会社○○」と「△△株式会社」の表記ミスを防ぎます。
単語の終わりが「株式会社」のものを抽出する
株式会社\b
「株式会社○○」と「△△株式会社」の表記ミスを防ぎます。
N文字ごとに改行する
置換前:(.{N})
置換後:$1\r\n
設定で出来ますが、毎回開くのが面倒なのでこれでやってます。
文末に文字列を追加する
置換前:$
置換後:文字列
10文字ごとにカンマを入れる
置換前:.{10}
置換後:$&,
CSVファイル用です。
頭0埋めし、10桁に統一する。””を付ける
①置換前:(^[0-9]{1,10}$)
置換後:0000000000$1
②置換前:(.0*)(.{10}(?=$))
置換後:“$2”
CSVファイル用です。10桁以上のデータは末尾から10桁を取ります。ご注意を。
LFの3文字後ろにxxxを挿入する
置換前:(LF(.{3}))
置換後:$1xxx
末尾がAの場合、頭に「済」を挿入する
置換前:^(.*A)$
置換後:済$1
全ての行頭に「・」を付ける
置換前:^
置換後:・$1