デスクワークでWordを使っていると、書類作成中にちょっとしたストレスを感じることはないでしょうか。「英数字をすべて半角にしたい」「商品番号から数字だけ選択したい」など、一括でできそうだけど、結局手入力で作業していることは意外と多いもの。
こんなときに便利なのが「正規表現」です。この記事では、正規表現とはそもそも何か、という点から、便利な使用例まで紹介していきます。
正規表現って何?
正規表現は特定の文字や要素、パターン化した文字列を記述するための記法のことです。
正規表現は通常プログラム開発で広く使用される記法ですが、テキストエディタや各種文書作成ソフトでも対応している場合があります。
プログラム開発以外でなじみ深いのはMicrosoft WordやGoogleドキュメントではないでしょうか。Wordでは「正規表現」にあたるものが「ワイルドカード」「特殊文字」と呼ばれ、「検索と置換」の機能の一部とされています。
正規表現が使えると何が便利なの?
プログラム開発でよく使われる正規表現を技術者以外が使えるメリットは、文章の作成や部分的な修正が劇的に楽になることです。先ほど少し説明したように、正規表現では「文字で表記できない要素の指定」「文字列をパターンに当てはめての指定」ができます。
Wordではどんなことができる?
Wordの場合、たとえば以下のような処理が可能になります。
・行の改行を段落改行に一括で差し替える
・アルファベットだけを特定の数字に置き換える
・数字だけを削除する
・特定の文字列で終わる単語を差し替える
デスクワークで文章作成の機会が多い方は業務効率の向上が見込めるでしょう。
具体的には、以下のような記号を使用します。
【Wordで利用できる正規表現(一部)】
? | 任意の一文字 | 例:たまご??? 「たまごプリン」 「たまごサンド」などを検出 |
* | 任意の文字 または文字列 (文字数を問わない) |
例:たまご* 「たまご丼」 「たまごかけご飯」などを検出 |
[-] | 範囲内の一文字 | 例:[a-z][1-5][あ-お] 範囲内の文字をすべて検出 |
< | 単語の先頭 | 例:<an 「an」で始まる単語を検索。 〇anan ×cancam |
> | 単語の末尾 | 例:ing> 「ing」で終わる単語を検索 〇being ×bang |
^t | タブ | |
^p | 段落記号 | |
^l | 行区切り(↓) |
Wordで使える正規表現の使用例
ここからは、Wordでできる簡単な正規表現(ワイルドカード)の使用例を画像付きで紹介します。
改行の追加・置換
改行を追加したり、他の文字列や改行記号に一括変更する場合に正規表現の利用が便利です。たとえば文章を句点(。)ごとに改行し、文章と文章の間を一行空ける場合、画像のように指定することで一括処理できます。
上で紹介したとおり、「^p」が段落記号に置き換えられるので、二つ入れることで改行+1行空きという指定です。
置換を実行した前後の文章はこのようになります。
▼改行前
▼改行後
範囲指定による文字の検索
「1から9」「aからz」など、文字の範囲を指定して処理を行う場合は「から」の部分に[-]を使用します。
仮に以下のように商品番号の頭に全角アルファベットが入力されていて、この部分に一括で処理を行うとします。この場合は「検索」タブで「検索する文字列」に[A-Z]と入力してください。このとき、アルファベットは全角で入力します。
次に「検索する場所」に「メイン文書」を指定することで、入力されている文字のなかで該当するものが全て選択されます。
ワイルドカードの[A-Z]を利用してアルファベットを検索する場合、文章中のアルファベットの全角と半角は区別されます。全角アルファベットを検索する場合は全角で、半角で検索したい場合は半角で入力欄に打ち込んでください。
この機能を応用すると、さまざまな処理が一括でできます。たとえば、全角アルファベットを指定している状態で「ホーム」タブの「文字種の変換」を使用すると、一括で半角への切り替えが可能です。
なお、同じ方法で半角を全角に直したり、ひらがなをカタカナに変更することもできます。お試しください。
任意の文字列の指定
文字列の内容を特定できない場合に、文章のパーツを丸ごと置換したい場合は、正規表現の「*」を使用します。
例を見てみましょう。
こちらの文章は、難読漢字に()内のふりがなが振られていますので、この部分を削除してみます。
ふりがなの内容はそれぞれ異なるため、通常の置換では一括変更はできません。こういったケースでは任意の文字列を示す「*」を使用し「検索と置換」機能で以下のように指定します。
置換の実行結果は以下のとおりです。
文字数を指定した任意の文字列の指定
商品の番号など「桁数は決まっているが内容がバラバラ」の文字列を指定する場合正規表現の「任意の一文字」を示す「?」を使用します。たとえば以下の表の、Aで始まる品番の商品のみ、品番の2桁目から6桁目をすべて「0」に差し替えるとします。
この場合の指定方法は以下のとおりです。
「?」は任意の文字1文字を表す正規表現なので、5桁分差し替える場合は5つ入力します。
これで置き換えると、次のようになります。
正規表現の活用で作業を効率化
正規表現は、基本的なものを覚えておくだけでエディタでの作業が大幅に効率化します。Wordでも、今回紹介したもののほかにもさまざまな正規表現を使用できます。
日々の業務を進めるうえで「手作業でやるのが面倒臭いな」と思うことがあれば、正規表現を使うことで一括修正できるかもしれません。ぜひお試しください。