大量のテキストやURLを整形することが多いのですが、今回は、その際に便利な正規表現の使い方をご紹介します!
正規表現の便利なところ
正規表現は、通常の文字 (a ~ z など) と、”メタキャラクタ” という特殊文字から構成される文字列のパターンです。
パターンによって、テキスト本文を検索するときに一致する 1 つ以上の文字列を指定します。
正規表現は、検索対象の文字列と文字パターンを一致させるためのテンプレートとして機能します。
という説明になるのですが簡単に言うと・・・文字列に一定の幅を持たせて指定することで面倒な置換や削除が簡単にできてとても便利になるのです!
対応しているツールについて
正規表現に対応している代表的なツールは下記のとおりです。残念ながらExcelはデフォルトで正規表現に対応しておりません。
テキストエディター:秀丸エディター・サクラエディター・Sublime Text
表計算ツール:Google Spredsheet
また正規表現の書き方はツールによって若干異なります。
今回は秀丸エディターを使用して説明します。
便利な正規表現5選!
それでは具体的な使用方法について説明していきます!
- 先頭の指定
- 末尾の指定
- aから始まってbで終わる文字列の指定
- ○桁から○桁の数字の指定
- 特定の文字列以外の指定(指定の反転)
先頭の指定
どんな文字が入っていても文字列の先頭を指定することができます。
よく使う場面:空白行の削除
ここではとびとびの空白行を削除します。
-
- メニューから検索→置換のウィンドウを表示させる
- 検索の枠→ “^¥n”と入力
- 置換の枠→入力なし
- 正規表現→チェックする
- 全置換をクリック
すると とびとびであった空白行が一括で削除されます!
指定方法の解説としては
^ →先頭を指定する文字
¥n →空白
という意味になります。
末尾の指定
どんな文字が入っていても文字列の末尾を指定することができます。
よく使う場面:末尾にindex.htmlの文字列を追加する
ここではURLの末尾がindex.htmlとなるようにします。
- メニューから検索→置換のウィンドウを表示させる
- 検索の枠→ “$”と入力
- 置換の枠→”/index.html”
- 正規表現→チェックする
- 全置換をクリック
するとURL末尾がindex.htmlの形になります。
指定方法の解説としては
$ →末尾を指定する文字
/index.html →末尾に追加したい文字列という意味になります。
aから始まってbで終わる文字列の指定
任意の文字aから始まって任意の文字bで終わる文字列を指定することができます。
よく使う場面:任意の文字aから始まって任意の文字bで終わる文字列の削除
ここでは大阪ではじまって区で終わる行を削除します。
- メニューから検索→置換のウィンドウを表示させる
- 検索の枠→ “大阪.*区”と入力
- 置換の枠→入力なし
- 正規表現→チェックする
- 全置換をクリック
すると大阪から区で終わる行が削除されます。
指定方法の解説としては
.* →なんでもいい文字の一文字以上の連続という意味となり
大阪.*区と入力すると
大阪で始まって次の文字列に何が来ても区で終わる文字列という意味になります。
○桁から○桁の数字の指定
特定の桁数から特定の桁数の数字の文字列のみを指定することができます。
よく使う場面:○桁から○桁の数字の削除
ここでは3桁から4桁の半角数字を削除します。
- メニューから検索→置換のウィンドウを表示させる
- 検索の枠→ “¥d{3,4}”と入力
- 置換の枠→入力なし
- 正規表現→チェックする
- 全置換をクリック
すると3桁と4桁の数字の文字列が削除されます。
指定方法の解説としては
¥d →半角数字
{3-4} →3桁~4桁の数字 という意味になります。
特定の文字列以外の指定(指定の反転)
特定のワードを含む文字列以外を指定します。
よく使う場面:任意の文字列以外の削除
ここでは”ブログ”という文字列が無い行を削除します。
- メニューから検索→置換のウィンドウを表示させる
- 検索の枠→ “^(?!.*ブログ).+$”
- 置換の枠→入力なし
- 正規表現→チェックする
- 全置換をクリック
すると”ブログ”という文字列が無い行が削除されます。
指定方法の解説としては・・・
このケースは解説がかなり複雑ですので、説明は省略いたします。。。
“^(?!.*ブログ).+$”の”ブログ”の部分を任意の文字列に変えれば、任意の文字列がない行が選択されると覚えましょう!
最後に
正規表現はプログラムなどでよく使用されるものですが、一部でも使用方法さえわかっていれば、テキスト整形作業がとても便利になるんです。
是非、試してみてください!