前回記事: サクラエディタでお手軽プログラミング!強調キーワードで色分けを設定しよう では、サクラエディタで使える強調キーワードのデフォルト設定と、追加方法についてご紹介しました。第四回目となる今回は、正規表現についてご紹介したいと思います。
1. 正規表現とは?
1.1 正規表現とは
正規表現とは、文字列の一部をあいまいにして、1つの文字列で複数の文字列を表す表現方法のことです。この表現方法を使うと、1つの検索条件で広範囲を検索対象とすることができます。
例えば、「test01」「test02」「test03」「test10」「test0」の5つの文字列があるとします。この5つの文字列「testナントカ」全てを対象としたい場合、「test*」と表現できます。この「*」が「ナントカ」に相当します。「*」以外にも、正規表現には多彩な表現方法があります。
サクラエディタにおいて、正規表現は「検索」「置換」「Grep」の3つの機能で使用可能です。
1.2 ワイルドカードとは
ワイルドカードとは、前項で登場した「*」のような特殊文字のことです。正規表現と混同されがちですが、正規表現とは表現方法全体のことを指し、ワイルドカードとは正規表現の一種である特殊文字のことを指します。
UNIX系やWindows系では、ワイルドカードにあたる文字は次の2つです。
? | 任意の1文字 |
---|---|
* | 長さ0文字以上の任意の文字列 |
前項の5つの文字列があったとすると、「test*」では5つ全てが対象となりました。それに対して、「test?」ではtestの後に1文字のみのものが対象となるため、「test0」だけが対象となります。
1.3 サクラエディタで正規表現を有効にする方法
サクラエディタで正規表現を使用するためには、サクラエディタ本体のほかに次のファイルが必要になります。
bregonig.dll |
このファイルは、サクラエディタをインストールパッケージ版を用いてインストールした場合にはデフォルトで同梱されています。パッケージ版でない場合は「bregonig.dll」を公式サイトからダウンロードし、「sakura.exe」と同じフォルダに配置して下さい。
すると該当する設定の「タイプ別設定」画面が開きます。サクラエディタでは作業中のファイルの拡張子に従って、カラー強調表示だけでなく、TAB幅などのレイアウトやデフォルトの文字コードも個別に設定することが可能です。
2. 覚えておくと便利な正規表現
この項では、前項にて説明したワイルドカード以外によく使う正規表現をご紹介します。
2.1 基本の記号
文字列を表す基本の記号には、次のようなものがあります。
? | この文字の次の文字は、正規表現記号でも普通の文字として扱う |
---|---|
| | 条件の論理和(or)を示す。例えば(A|B)は「AまたはB」を対象とする |
(○) | 式のグループを表す(○には式が入る) |
[○] | 文字集合を表す(ここの○に入るものは次の表に) |
[○] | 例として[XYZ]の場合、XまたはYまたはZを対象とする |
---|---|
[^○] | 例として[^XYZ]の場合、X、Y、Z以外を対象とする |
[○-○] | 例として[V-X]の場合、V~Xを対象とする |
なお上記で指定するアルファベットには、大文字と小文字の区別があるので注意して下さい。
2.2 改行を表す正規表現
改行コードには次のように3種類があり、それぞれ使い分けられています。
CRLF | Windowsで一般的に使用されている改行コード |
---|---|
CR | MacOS9以前のMacで使用されている改行コード |
LF | UNIX(Linux)や、MacOSX以降で一般的に使用されている改行コード |
これらの改行コードを正規表現で表すと、次のようになります。
\r\n | CRLF |
---|---|
\r | CR(キャリッジリターン) |
\n | LF(ラインフィールド) |
なお3つの改行コード全てを一度に検索対象としたい場合は、次のように表すことができます。
[\r\n]+ |
例えば改行を全て削除したい場合、下図のように置換画面を開いて(Ctrl+R)置換前に「\r\n」と入力して「正規表現」にチェックを入れます。置換後は入力無しのままにします。
この状態で「すべて置換」を選択すると、4つの改行が削除されて1行になりました。
2.3 タブを表す正規表現
水平タブコード(TAB)は、次のように表すことができます。
\t |
2.4 行頭を表す正規表現
行頭を表す正規表現は、次の1文字になります。
^ |
2.5 行末を表す正規表現
行末を表す正規表現は、次の1文字で表します。
$ |
2.6 文字列の最初を表す正規表現
文字列の最初を表す正規表現は、次の2文字で表します。
\A |
2.7 文字列の最後を表す正規表現
文字列の最後を表す正規表現は、次の2文字になります。
\Z |
3. 正規表現で検索の効率アップ
正規表現にはまだまだ種類が存在するので、ぜひ使いこなしてみて下さいね。
【サクラエディタ公式 - 利用可能な正規表現】
http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html
次回は複数のソースファイルから任意の文字列を一括で検索し、かつ置換もできるGrep機能の使い方をご紹介します。
よければ合わせてご覧下さい。
当サイトプロエンジニアのコンサルタントが厳選したおすすめのフリーランス案件特集はこちら
特集ページから案件への応募も可能です!
実際にフリーランスエンジニアとして活躍されている方のインタビューはこちら