文書では前単語を補助するため、"( " と " )"で説明文などをはさむ(丸括弧)を使用することがあります。また、単語や文書を強調する場合は「カギ括弧」、一部のPC系雑誌ではキーボードのキー名を強調するために[角括弧]を使用することもあるでしょう。

もちろん、ある程度までの括弧が文書中にあってもかまいませんが、丸括弧で囲む単語や説明文が多いと、文書全体の可読性が落ちてしまいます。そこで、丸括弧で囲まれた文書を強調する正規表現を試してみましょう。

一見すると「(.+)」と、全角の始め丸括弧、改行を除く任意の一文字をしめす「.(ピリオド)」、直前の文字列が一回以上繰り返すことをしめす「+(プラス記号)」、そして終わり丸括弧で構成できるように思いがちです。しかし結果はご覧とおりうまくいきません(図1)。

図1 検索文字列として「(.+)」を指定し、「上検索」「下検索」いずれかのボタンをクリックすると、丸括弧以外の部分も反応してしまいます

これは、正規表現の最長一致が標準のマッチングとなるためです。最長一致とは文字どおり"なるべく長く対応する"という意味で、サンプルの例ではふたつある括弧の後者までがマッチ対象となってしまうのです。ちなみに逆の動作である最短一致という検索方法もありますが、秀丸では基本的に使用できません。そこでちょっとした工夫が必要となります。

"始め丸括弧ではじまり、終わり丸括弧以外の文字列が一回以上繰り返し、終わり丸括弧で終わる"ための指定が必要となります。これを正規表現でしめすには「([^)]+)」となるので、検索文字列として指定してみましょう。これなら丸括弧を含めた文字列がマッチします(図2)。このパターンはどの括弧でも使用でき、カギ括弧の場合は「「[^」]+」」、角括弧なら「[[^]]+)]と指定しましょう。

図2 検索文字列として「([^)]+)」を指定し、「上検索」「下検索」いずれかのボタンをクリックすると、丸括弧で囲まれた文字列がマッチします

正規表現

検索:([^)]+)

小見出し:秀丸の強調表示を活用する

今回の意図は丸括弧で囲んだ文字列を見やすくする、というものです。そのため、正規表現による検索だけではもの足りません。そこで、秀丸の強調表示機能を使いましょう。同機能は特定の文字列や正規表現によるパターンにより、指定した文字列を特定の色や太字で強調するというもの。

設定自体はファイルタイプ別の設定で行ないます。普段からテキストファイルのみ編集する方は気にする必要はありませんが、C言語やHTMLファイルを秀丸で編集する場合、該当するファイルを開いてから「設定のリスト」ボタンで設定ファイルを定義するようにしてください。

また、今回は初期状態のカラーデザインを用いているため、強調表示2を使用しましたが、これらの設定は同設定ダイアログの「デザイン」から変更可能です。単語の場合は「強調1~8」「特に強調1~4」が使用可能。行単位の場合は「行の強調1~4」が使用できます。配色に関しては個人的趣味が出ますので、お好みの配色になるまで試行錯誤することをオススメします(図3~7)。

図3 秀丸の[その他]メニューから[ファイルタイプ別の設定]を選択します

図4ファイルタイプ別の設定ダイアログが表示されたら、画面左側のツリーから「強調表示」を選び、[強調表示]をクリックしてチェックを入れましょう。次に[追加]ボタンをクリックします

図5 設定ダイアログが表示されたら、「文字列」のテキストボックスに「([^)]+)」と入力。「単語の選択」のチェックを外してから「正規表現」にチェックを入れましょう。そして「強調2」にチェックを入れてから[OK]ボタンをクリックします

図6 これで強調表示の設定が完了しました。配色や正規表現パターンを変更する場合は[プロパティ]ボタンで再編集してください。[OK]ボタンをクリックしてダイアログを閉じましょう

図7 これで丸括弧で囲んだ文字列が太字の緑色に変更されました。背景色が白色の場合、少々見にくいので、ファイルタイプ別の設定ダイアログの「デザイン」から配色を変更してください

阿久津良和(Cactus)