« 括弧2 検索置換 | Main | 括弧4 正規表現(2) »

2013.10.09

括弧3 正規表現(1)

<半角から全角へ 検索>

半角括弧を全角括弧にするのは前後が和文であるときでした。ここではそれを正規表現を使い実現します。まず検索から始め、次いで置換について説明します。

なお半角全角変換を先にしておくことにはそれなりの意味があります。これがその後に全角半角変換をするときの準備作業になっているからです。このことについては後で説明します。

半角括弧を全角括弧にするのは前後が和文のときです。実務的には全角文字に挟まれているときとほぼ同義となります。概念としては、全角文字には和文以外も含むのでより広くなりますが。

注意すべきは和文(特に漢字)の文字や全角文字は、文字コードに随時追加されていることです。このため文字コードの中で対象文字の始まりと終わりを指定するやり方をし続けていると、将来取りこぼしが生ずる可能性があります。このようなときには、裏から表現して「半角英数字記号以外に挟まれている括弧」と考えると漏れが少なくなります。正規表現はこの考えをワードで処理できる形で表現したものです。

では「半角文字以外に挟まれた半角括弧」を探すための正規表現を順番に考えていきます。

1)半角文字以外の1文字という正規表現は
[!\!-~]
になります。
!\!-~で半角文字のコードを範囲で指定するのですが、最初に!をつけることでそれ以外という意味です。次の\!はメタ文字ではなく普通の文字としての!です。!を単なる文字として認識するためその前に\をつけています。

なお\の表示は、表示に用いる文字コードの設定の違いから円記号になることもバックスラッシュとなることもあります。

また今回の各種操作は括弧の前後1文字のみに注目していますが、何文字かが続くときを考慮するのであれば{1,}を付加し、[!\x01-\x7E]{1,}のようになります。

2)正規表現で半角括弧自体を指定するのには工夫がいります。
半角括弧開は(
半角括弧閉は)
ですが、正規表現ではこれらが特殊なメタ文字として機能するので、それを防ぐために前に\を付けます。

つまり
\(
\)
です。

3)括弧のあとにまた半角文字以外がくるので、これは最初と同じです。
[!\!-~]
になります。

そこで半角文字以外に挟まれた半角括弧を検索するには
検索:[!\!-~]\([!\!-~]
ワイルドカードをオン

とすれば探し物は見つかります。

半角括弧の閉じる方は中央の半角括弧の向きが変わるだけです。
[!\!-~]\)[!\!-~]

|

« 括弧2 検索置換 | Main | 括弧4 正規表現(2) »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/20048/58349679

Listed below are links to weblogs that reference 括弧3 正規表現(1):

« 括弧2 検索置換 | Main | 括弧4 正規表現(2) »