【ワイルドカード】括弧の閉じ忘れチェック

括弧には種類があり、全角半角によっても違いますし、使われ方もさまざまなので、前提条件を決めてチェック方法を考えないといけません。例えば丸括弧ですと、1)やA)というような使い方がされるため、「括弧を開かないで閉じている」というミスのチェックは難しそうです。ただ、日本語の「」や『』などは、そういう使い方がされないと予測されますから、チェックできそうですね。

ここではタイトルにある通り、前提条件として「括弧を開いたのに閉じ忘れたもの」を検出するためのワイルドカードを考えてみましょう。

まず、検索方法を考える上で、もうひとつ前提条件を付けます。それは、括弧ペアは必ずパラグラフの中で閉じているという条件です。私が翻訳で見ている文書を思い返しても、括弧ペアが文をまたぐのを見たことがありません。つまり、1文内にある括弧は必ずその1文の中で開いて閉じるということになります。言い換えれば、括弧を開いて閉じ忘れた状態とは、閉じる括弧が文末になっても現れない状態のことをいいます。

文末を知る上で使えそうなのは、英文であればピリオド、日本文であれば句点などでしょう。ただ、調べる種類が増えそうですので、検索文を簡略化するために少々乱暴ですが、改行コード ^13 を使うことにします。

[\(\[(「『【][!\)\])」』】]@^13

最初の [(](「『【] は括弧を開いたところを検索。続く [!)])」』】]@ で開いた括弧に続いて、閉じ括弧以外の文字列の連続を検索し、括弧が閉じないまま改行コード ^13 が見つかれば、検索式にヒットします。

これで対応できる括弧ペアは、() [] 「」『』【】です。他の括弧ペアもチェックしたいときは、この検索式に盛り込めば利用できます。

 ※ この記述方法の制限として、括弧の入れ子は検出できません。

 

【ワイルドカード】【英文】「.」「,」のダブルクォーテーション内への入れ忘れチェック

文末のピリオドやカンマをダブルクォーテーションの前に置くか後ろに置くかは、[米][英]での違いとかマニュアルでの指示などで違いがあります。手元にある The Chicago Manual of Style (第16版)の 6.9 Periods and commas in relation to closing quotation marks. には以下のように書かれています。

Periods and commas precede closing quotation marks, whether double or single.

今回紹介するワイルドカードは、この Chicago Manual に則ったスタイルかどうかをチェックできるものになります。考え方として、ピリオド(.)もしくはカンマ(,)がダブルクォーテーション(“)の後についているものを、単純に検索するワイルドカードを考えます。

まず、ピリオドもしくは(or)カンマのいずれかをヒットさせたいときは、角括弧で囲みます。(or の時は角括弧の中に並べちゃえばOKです。)
[.,] と記述することで、. か , が検索でヒットします。次に、これらがダブルクォーテーションの後にある場合をヒットさせたいので、以下のような記述になります。

"[.,]

とりあえず、この記述で検索にヒットした箇所をチェックすれば、スタイルミスが見つかることになります。

では、強制的にピリオドもしくはカンマを、ダブルクォーテーションの前に移動してしまうワイルドカードを考えてみましょう。上の[.,]の記述では、ピリオドかカンマがヒットするので、ヒットしたものをそのまま利用することを考えないといけません。したがって、この記述を丸括弧で囲み、([.,]) と記述することで \1へ代入して再利用できるようにします。

検索する文字列

"([.,])

置換後の文字列

\1"

上記のような記述で、ダブルクォーテーションの後にあるピリオドとカンマが、ダブルクォーテーションの前に移動します。

実行する場合は、必ず、置換後の文字列に蛍光ペンをつけるようにして、必要な箇所のみが置換されていることを確認しましょう。(「検索と置換」窓で、「置換→書式→蛍光ペン」です)

 

ファイルリスト一覧作成 (ThisFolder2TextList)

コーディネータをやっていると、フォルダー内のファイル群をテキストリストにしたい場面がときどきあります。ここで紹介する ThisFolder2TextList を使用する前は、コマンドプロンプトを開いて、リスト化したいフォルダーまで移動した後、以下の文字列を入力してファイルリストを作成していました。

Dir /B > List.txt

ただし、下層フォルダーまではリストにしてくれないのです。あまり頻繁にあることではないのですが、下層フォルダーも含めてファイルリストを作りたいことがあるため、AutoHotKey でスクリプトを書いてEXE形式に変換したものを利用しています。

以下のリンクを開くと、WildLight共有フォルダーが開きますので、そこから「ThisFolder2TextList001b.zip」をダウンロードしてご利用ください。詳細は同梱されているテキストファイルをご参照ください。

https://app.box.com/v/WildLight