スミマセン。ポカやらかしてました。
以前のものは行末までの抜けカッコ部分がマッチしませんでした。申し訳ない。
このマクロを2006/8/29以前に使用していた人は新しくコピーし直して下さい。
抜けカッコを検索するマクロ
カッコの片方が抜けている「抜けカッコ」部分を検索するマクロです。
以下をコピーして貼り付け、好きな名前で保存して下さい。拡張子は .vbee です。
document.selection.Find "\([^\)]*?\(|\)[^\(]*?\)|^[^\(]*?\)|\([^\)]*?$|<[^>]*?<|>[^<]*?>|^[^<]+?>|<[^>]*?$|\[[^\]]*?\[|\][^\[]*?\]|^[^\[]*?\]|\[[^\]]*?$|\{[^\}]*?\{|\}[^\{]*?\}|^[^\{]*?\}|\{[^\}]*?$|([^)]*?(|)[^(]*?)|^[^(]*?)|([^)]*?$|[[^]]*?[|][^[]*?]|^[^[]*?]|[[^]]*?$|{[^}]*?{|}[^{]*?}|^[^{]*?}|{[^}]*?$|‘[^’]*?‘|’[^‘]*?’|^[^‘]*?’|‘[^’]*?$|“[^”]*?“|”[^“]*?”|^[^“]*?”|“[^”]*?$|〈[^〉]*?〈|〉[^〈]*?〉|^[^〈]*?〉|〈[^〉]*?$|《[^》]*?《|》[^《]*?》|^[^《]*?》|《[^》]*?$|「[^」]*?「|」[^「]*?」|^[^「]*?」|「[^」]*?$|『[^』]*?『|』[^『]*?』|^[^『]*?』|『[^』]*?$|【[^】]*?【|】[^【]*?】|^[^【]*?】|【[^】]*?$|〔[^〕]*?〔|〕[^〔]*?〕|^[^〔]*?〕|〔[^〕]*?$|〝[^〟]*?〝|〟[^〝]*?〟|^[^〝]*?〟|〝[^〟]*?$|<[^>]*?<|>[^<]*?>|^[^<]*?>|<[^>]*?$|≪[^≫]*?≪|≫[^≪]*?≫|^[^≪]*?≫|≪[^≫]*?$",eeFindNext Or eeFindReplaceRegExp
使用上の注意
マクロを実行する度に次のカッコが抜けている部分に移ります。
このマクロを実行すると通常動作が重くなります。抜けている部分が無くとも重くなります。
これは検索結果の画面表示に、非常に描画パワーが必要とされるからです。
これを元に戻すには 「 検索文字列の強調の解除 」 を実行してください。
デフォルトでは Alt+F3 で解除できます。ツールバーアイコンも存在しており、いつでも追加できます。。
改行をまたいだカッコも抜けカッコとして判断されますので注意して下さい。
例外として行頭の > のみは < が抜けているとは判断されません。これは行頭の > は引用符として使用されることが多いからです。
ただし行頭に > が二つ以上連続した場合は抜けカッコとして検索対象となります。
行頭の > も抜けカッコとして検索したい場合は、上のスクリプトの中の ^[^<]+?> の部分を ^[^<]*?> に書き換えて下さい。
個別に検索するための正規表現
上のマクロは以下のカッコの片方が抜けている箇所を、全て同時に検索しています。
半角カッコ
( ) | \([^\)]*?\(|\)[^\(]*?\)|^[^\(]*?\)|\([^\)]*?$ |
< > | <[^>]*?<|>[^<]*?>|^[^<]+?>|<[^>]*?$ |
[ ] | \[[^\]]*?\[|\][^\[]*?\]|^[^\[]*?\]|\[[^\]]*?$ |
{ } | \{[^\}]*?\{|\}[^\{]*?\}|^[^\{]*?\}|\{[^\}]*?$ |
全角カッコ
( ) | ([^)]*?(|)[^(]*?)|^[^(]*?)|([^)]*?$ |
[ ] | [[^]]*?[|][^[]*?]|^[^[]*?]|[[^]]*?$ |
{ } | {[^}]*?{|}[^{]*?}|^[^{]*?}|{[^}]*?$ |
‘ ’ | ‘[^’]*?‘|’[^‘]*?’|^[^‘]*?’|‘[^’]*?$ |
“ ” | “[^”]*?“|”[^“]*?”|^[^“]*?”|“[^”]*?$ |
〈 〉 | 〈[^〉]*?〈|〉[^〈]*?〉|^[^〈]*?〉|〈[^〉]*?$ |
《 》 | 《[^》]*?《|》[^《]*?》|^[^《]*?》|《[^》]*?$ |
「 」 | 「[^」]*?「|」[^「]*?」|^[^「]*?」|「[^」]*?$ |
『 』 | 『[^』]*?『|』[^『]*?』|^[^『]*?』|『[^』]*?$ |
【 】 | 【[^】]*?【|】[^【]*?】|^[^【]*?】|【[^】]*?$ |
〔 〕 | 〔[^〕]*?〔|〕[^〔]*?〕|^[^〔]*?〕|〔[^〕]*?$ |
〝 〟 | 〝[^〟]*?〝|〟[^〝]*?〟|^[^〝]*?〟|〝[^〟]*?$ |
< > | <[^>]*?<|>[^<]*?>|^[^<]*?>|<[^>]*?$ |
≪ ≫ | ≪[^≫]*?≪|≫[^≪]*?≫|^[^≪]*?≫|≪[^≫]*?$ |