2014「整合」機能の作業手順について【実践】ツイートお世話になります。個人出版支援のFrentopiaです。2014の検索置換でワイルドカードがどのくらい使えるのかを試してみました。今回はその続きで、正規表現がどのくらい使用できるのか、置換がうまくいくのかいかないのか。その辺りを試してみた経緯をお伝えしたいと思います。2014の検索置換で実際に正規表現を使用してみる基本的な正規表現(テキストエディタMery使用)の検索ではまず、基本的な正規表現について触れていきたいと思います。エディタはフリーのテキストエディタMeryを使用しております。Meryの検索ウィンドウに用意されている正規表現はこんな感じです。¥n:改行.:任意の1文字?:0または1回*:0回以上{n}:n回^:行頭$:行末():グループ化[]:カッコ内の任意の1文字[^]:カッコ内の文字以外の任意の1文字[a-z]:小文字アルファベット[A-Z]:大文字アルファベット[ぁ-ん]:全角ひらがな[ァ-ヶ]:全角カタカナ[亜-黑]:漢字といったところでしょうか。他にもいろいろありますが、このくらいを知っているだけでも結構複雑な検索が実行できたりします。検索に使う文書は前回の記事でも使用しましたが、こんな感じのものを用意してみました。Ctl+Fで検索ウィンドウを出し、「正規表現を使用する」にチェックを入れます。簡単な正規表現を使用してみます。「^」(行頭)と「.」(任意の1文字)を入力して「行頭にある任意の1文字」という意味の検索を実行します。ヒットした部分の色が変わります。うまく検索できているようです。続いて「¥s」(空白)の検索です。こちらも検索できました。スペースに関しては、ワイルドカード同様全角半角は区別されません。全角のスペースを検索したいときはこんな感じになります。](全角スペース)別に正規表現じゃなくてもいけますけど。次は複数の組み合わせを試してみます。・「.」(任意の1文字)+$(行末)→行末の1文字この2つを組み合わせて検索した結果がこちらです。うまくいっているみたいですね。[A-Z]{4}¥d{3}[a-zA-Z]¥s一見「うわっ」となるかも知れませんが、1つずつ冷静に見ていけばそんなに難しくはないと思います。細かく見ていくとこうなります。検索結果がこちらです。製品の型番などを検索するときに使えそうなパターンですね。」の隣にある「AOSC550Y」は、アルファベットの次に「¥s」(空白)がないためにヒットしていません。次は[^]([]内を否定)を試してみましょう。[^亜-黑]「[亜-黑]」(漢字)の頭に「^」(否定)をつけて、漢字以外の文字という意味のパターンです。うまく検索できてますね。「〇〇以外の××」を検索したいときは[^]を使用します。正規表現を使った置換(テキストエディタMery使用)さて、今度は正規表現を使って置換をしてみます。検索だけですとあまり正規表現の恩恵を得られてるとは言いがたいので、やっぱり置換ができて欲しいわけです。Ctl+RでMeryの置換ウィンドウを出します。・検索文字列:([亜-黑]{2})ダッシュ(¥s¥d{2})・置換文字列:$1スラッシュ$2まずは検索文字列から見ていきましょう。¥d{2}(数字2桁)「Wordで各ページのヘッダーに見出しタイトル(段落)を自動的に表示する方法2つ【クイックパーツ/相互参照】」そしてお気づきかと思いますが、[亜-黑]{2}と¥s¥d{2}をそれぞれ()で囲んでいます。これは前回の記事のワイルドカード同様、()で囲むとその部分をグループ化することが可能になります。この検索文字列の中には([亜-黑]{2})と(¥s¥d{2})という2つの正規表現グループが存在しているということになるわけです。続いて置換文字列を見ていきます。$2(2つ目のグループを参照)となっています。「$n」を使用すると、n番目の正規表現グループを参照できるわけです。「$1」は1番目の正規表現グループ([亜-黑]{2})を参照し、「$2」は2番目の正規表現グループ(¥s¥d{2})を参照しています。このパターンで検索を実行した結果が下記になります。置換を実行した結果が下記です。漢字2文字とスペース+2桁の数字に囲まれた「ダッシュ」という文字を「スラッシュ」に置換することができました。単純な「ダッシュ」→「スラッシュ」の検索置換ではない、複雑なパターンの中での置換が実行できたわけです。この要領でさらにこのパターンを試してみます。・(¥d{3}.$)→3桁の数字+任意の1文字+行末までをグループ化となっています。これを検索した結果が下記です。行頭にある製品の型番にヒットしました。置換結果はこうなりました。製品の型番のようにパターン化された文字列をうまく検索置換できています。2014の検索置換で正規表現がどの程度使えるのかを試してみたいと思います。ワイルドカードのような結果にならなければいいんですが......。簡単なところからいってみましょう。¥d{3}(3桁の半角数字)を実行します。スペース)検索ぅ!!おお!!いけたいけた。正規表現いいじゃないですか。これは結構期待感ありますね。ここができてくれると非常に便利なんだけど......。先ほどの[A-Z]{3}[A-Z][¥d]{3}[A-Z]¥sを、()を使用して([A-Z]{3})[A-Z]([¥d]{3}[A-Z]¥s)と2つのグループ分けをしました。置換んんん......!!!!できた!!おおう。いけるじゃないっすかこれ。2014の正規表現はなかなか使えそうですね。一度ためしてみましょうか。「mm」)置換結果はこう。っはー!!いけますね。数字と「mm」の間に半角スペースを挿入することができました!!いいですね。2014の正規表現はかなりいけるっぽいですね。ちなみにダメだった例としては「^」(行頭)の検索がうまくいきませんでした。したら行頭とか行末っていう概念自体がないのかも知れないですね。「$」とか「¥」みたいな正規表現で使用する文字(メタキャラクタ)を普通の文字として検索したい場合は、前に「¥」エスケープマークを追加して検索を実行します。「$」を普通の文字として検索する場合は「¥$」とします。長い記事になってしまったんですが、わかりやすく説明できていますでしょうか。2014の正規表現はなかなかすばらしいということがわかりました。ほんの少しでも翻訳者さんの作業効率アップに役立てればいいんですが......。2014のタグの検証機能あたりに触れてみたいと考えております。引き続きお付き合いいただければ嬉しく思います。栃木日光アイスバックスvs東北フリーブレイズin霧降アリーナ現地観戦が最高杉。感想】アイスホッケー日本代表がスロベニアに敗れて五輪出場断たれる。