Wordの検索・置換とワイルドカード(正規表現的な記述方法)

スポンサーリンク

Wordの検索・置換でワイルドカードON/OFFの挙動の違い

検索や置換のダイアログでワイルドカードのチェックボックスがOFFの場合は「特殊文字」で表示されるのは以下のものです。

ワイルドカードのチェックがOFFの状態では例えば「[0-9]{4}」などと検索しても、単なる文字列として扱われるためヒットしません。

ワイルドカードのチェックボックスをONにすると以下のように変化します。

正規表現的な表記が一部利用できるようになり、置換では後方参照も可能と、かなり役立つ場面がありますので、ここではワイルドカードに使える「特殊文字」についてメモしておきます。

ワイルドカード有効時に使える「特殊文字」

任意の1文字:?

全角・半角問わず1文字の何かに一致します。

例えば以下のようにした場合、

第??巻

以下の文字には一致しますが、

第33巻
第45巻
第壱拾巻

以下には一致しません。

第3巻
第4巻
第壱巻

「?」に対応する文字数は同じ個数でなくてはいけないので、間にある文字数が不明な場合は後述する「*」や、繰り返し回数の「{,}」などを使います。

範囲内の1文字:[-]

[]内に文字を列挙するか、ハイフンで範囲を指定します。

単体で使用するより、直前の文字の繰り返しの「@」や「*」、文字数を指定する「{,}」などと組み合わせて使う場合が多いと思います。

以下のようにすると数字の0~9のいずれかです

[0-9]

アルファベットや日本語も対応しています。

[a-z]
[A-Z]
[あ-ん]
[ア-ン]

アルファベットは大文字・小文字が区別されるため、どちらでも一致させたい場合は以下のように両方指定します。
「いずれかの文字」に一致するので、どちらが先でも構いません。

[a-z][A-Z]

カッコ内は列挙してもOKです。

例えば以下の場合は「ア」「フ」「メ」「リ」「カ」のいずれかによる4文字で構成された文字列に一致するため、「アメリカ」「アフリカ」のどちらでも一致します(指定文字で構成された文字列なので、「メリメリ」などにも一致してしまいますが)

[アフメリカ]{4}

単語の先頭:<

単語はスペースや括弧などの記号で区切られた文字列です。

これを指定せずに検索した場合、「ship」で検索すると「championship」の末尾にも一致しますが、「<ship」とすると、「shipment」のように単語の先頭でないと一致しません。

大文字・小文字は区別されるため、どちらでも一致させたい場合は以下のように[]内に「s」と「S」を列挙して指定します。

「<[sS]hip」

Shipment
shipment

上記のようにすると先頭が大文字でも小文字でも一致します。

上記で指定する以外にもチェックボックスでON/OFFできるオプションがありますので、それらと併用すると一致させやすくなります。

単語の末尾:>

単語の末尾に一致します。
単語の先頭の「<」は「<mozi」などと指定しましたが、この「>」は「>mozi」のように記号と指定文字が逆なので注意します。

以下のように指定すると、

ship>

「Championship」には一致しますが、「Shipment」や「ships」には一致しません。

式:()

正規表現で言う「グループ化」で、置換では後方参照できます。

()の出現順と対応して「\1」や「\2」で参照できます。

「2020年10月8日」を「2020/10/8」にする例を見てみます。

西暦の4桁の数字は ([0-9]{4}) と表し、月や日は1桁か2桁なので ([0-9]{1,2}) と表します。

置換後の文字列では括弧の出現と対応して\1、\2などと表記しますので、最初の\1は「西暦」が、次の\2は「月」が、最後の\3は「日」が取得でき、それを置換後の文字列として使うことができます。

検索する文字列

([0-9]{4})年([0-9]{1,2})月([0-9]{1,2})日

置換後の文字列

//

以下のような感じです。

否定:[!]

指定した文字を否定します。

例えば「インストール」で検索すると、「アンインストール」も一致しますが、以下のようにすると「アンインストール」は除外されます。

[!アン]インストール

範囲内の1文字の[-]も使えます。

[!0-9]
[!あ-ん]

繰り返し回数:{,}

繰り返し回数を指定するもので、「*」や「@」では無制限に一致してしまうため、これで回数を指定します。

{}内はカンマ無しで指定すると指定個数に一致し、{1,4}などと指定すると、1文字~4文字の範囲に一致します。

数字4文字に一致

[0-9]{4}

数字2文字~4文字に一致

[0-9]{2,4}

直前の文字の繰り返し:@

次の「*」と似ていますが、こちらは直前に指定した文字が繰り返される場合に一致します。

例えば以下の場合は「Bom」や「Boom」や「Booooom」など、直前の「o」が繰り返される場合に一致し、「o」は何個あっても一致します。

Bo@m

[]との組み合わせ例です。

以下のようにすると、

B[aeot]@m

以下のような文字列に一致します。

Bom
Booom
Beam
Bottom

0以上の文字:*

@とは違い、「無くても」「有っても」「繰り返されていても」一致します。

例えば以下のようにすると

B*m

以下のようなものに一致します。

Bm
Bom
Booom
Beam
Bottom

手軽で便利ですが、相当あいまいな分、必要以上に一致してしまう点に注意しましょう。

Wordでは複数行(改行も含めて)一致するため、置換を行う前に必ず「検索」でどこに一致するのかを確認しておかないと、必要外の箇所が置換される恐れがあります。

タブ文字:^t

キーボードの「Tab」キーを押した時のタブに一致します。

Unicode文字の「U+0009」です。

キャレット:^^

キャレットはWordだとキーボードの「CTRL + ^」で入力できる以下のような文字です。

「e」と「a」の上にある「^」がキャレットです。

段区切り:^n

段区切りとは レイアウト > 区切り から選択できる段落の区切りです。

標準の状態では表示されませんが、「段落」の「編集記号の表示/非表示」で切替出来ます。

表示させると以下のようになっています。

省略記号:^i

省略記号は「…」という文字です。

Wordから入力する場合はショートカットの「ALT + CTRL + .」です。

挿入 > 記号と特殊文字 > 特殊文字タブ からショートカットの確認や変更が行えます。

日本語入力からも直接入力することができ、「・・・」と入力して変換して出てくる「[全]三点リーダ」という記号がそれです。

Wordからのショートカット入力、日本語入力のどちらでも同じ文字が入るので、どちらにも一致します。

3点リーダー:^j

3点リーダーは先の省略記号の「…」そのものです。

「検索する文字列」に直接「…」を入力しても(・・・と打ってから変換して三点リーダを選択)一致します。

全角ダッシュ:^+

全角ダッシュは「―」ですが、いくつか試してみた所、「U+2014」の全角ダッシュにのみ一致するようです。

Wordで挿入する場合は、挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

日本語入力から入れている場合は一致しない可能性もあるので、検索欄に直接入れた方が良いかもしれません。

Unicode文字はドラッグ後に右クリックすると文字コードが確認できます。

1/4スペース:^q

1/4スペースは幅の小さなスペース記号ですが、使った事がないです。
海外だと使うのかもしれません。

挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

半角ダッシュ:^=

「U+2013」の半角ダッシュのみに一致します。

半角ダッシュには別のコードもあるため、検索欄に直接入れた方が良さそうです。

グラフィックス:^g

ワイルドカードがONだと使えませんがメニューには表示されていました。

ワイルドカードがOFFの場合は挿入した画像などに一致します。
ただし、「文字列の折返し」が行内(インライン)の画像のみに一致し、それ以外の設定にすると一致しません。

任意指定の改行:^x

挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

Unicode「U+200C」に一致します。

任意指定の行区切り:^l

通常の改行(Enterキー)で改行すると別の段落として扱われ、個々にスタイルを変更できますが、「Shift + Enter」の改行では段落は分断せず、その中で改行をするようなふるまいになります。

罫線で囲った段落内で改行する場合は、そのまま改行すると罫線囲いから外に出てしまいますが、これだと囲いの中で改行できるというアレです。

普通の改行は以下ですが、

任意指定の行区切りでは下向き矢印の記号です。

ページ/セクション区切り:^m

ページ区切り、セクション区切りに一致します。

これらの区切りは、レイアウト > 区切り から操作できます。

改行なし:^z

挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

Unicode「U+200D」に一致します。

改行をしないハイフン:^~

挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

Unicode「U+2011」に一致します。

改行をしないスペース:^s

挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

Unicode「U+00A0」に一致します。

任意指定のハイフン:^-

挿入 > 記号と特殊文字 > 「特殊文字」から選択して「挿入」で挿入できます。

Unicode「U+00AD」に一致します。

コメント

タイトルとURLをコピーしました