前回の「ゼロ文字以上の「スペース」を探すための検索式(1)
」の質問の答えはわかりましたか?
これ、なかなか難しいと思いますよ。
私は、この方法を職場の友人から教えてもらいました。
言われてみれば、そのとおりだな、という考え方。ぜひ使ってみてください。
▼質問
以下のジャッキーチェンの記載をすべて検索できるワイルドカードの検索式は何でしょうか?
「ジャッキーチェン」
「ジャッキー□チェン」 (□は全角スペース)
「ジャッキー_チェン」 (_は半角スペース)
「ジャッキー□_チェン」
「ジャッキー□□チェン」
▼答え
検索をする文字列: ジャッキ[ー□_]{1,}チェン
(上記で、□は全角スペース、_は半角スペースです。実際に検索する場合には、置き換えてご利用ください。)
▼解説
ワイルドカードの基本技術で、2つあります。
[]:括弧内の任意の1文字を示します。
{}:繰り返しの回数を示します。ただし1回以上。
(詳しくは、ワードマクロ勉強会で使った資料
をご覧ください。)
繰り返し回数をゼロ回以上と指定できれば、話は早いのですが、それができないので困ったなと思うわけです。
しかし、上記の通りに、必ず使う文字列とゼロ回以上繰り返したい文字列を含めて、1回以上繰り返す、という指定にします。
[ー□_]{1,}
上記の意味は、「長音符(ー)」、「全角スペース」、「半角スペース」のうち、任意の1文字以上を繰り返す、という意味です。
長音符は、かならず使用されるだろうと想定して(ジャッキーのことを、ジャッキと書く人はあまりいないと思うので)、上記の条件にしました。
そうすると、結果として、全角・半角のスペースが入る場合も入らない場合にも対応できるのですね。
▼追加の質問
では、以下の文字列もあわせて検索する場合には、どうしたらいいのでしょうか。
「ジャッキー・チェン」
「ジャッキ・チェン」
ジャッキーのことを、「ジャッキ」って呼ぶ人がいる場合です。
「コンピューター」を「コンピュータ」と書くのと似ていますね。
ジャッキーファンとしてはなんか、違和感がありますが(笑)。
あと、全角の中黒(・)を含みます。これ、ありがちですよね。
というわけで、次回に続きます。
▼関連記事
ゼロ文字以上の「スペース」を探すための検索式(1)
ゼロ文字以上の「スペース」を探すための検索式(2): 現在地
ゼロ文字以上の「スペース」を探すための検索式(3)
ワイルドカードの検索・置換の目次