皆さま、こんにちは。ホンヤク社の成田です。
明日からは三連休です。今年の11月は営業日が少なく祝日もあるため、すぐに過ぎてしまいそうです。
今回は「*」という正規表現を取り扱います。Trados上では、直前文字の0回以上繰り返しとして使える正規表現です。MS Wordワイルドカードでもこの「*」はありましたが、正規表現では異なる機能を持ちますので、注意が必要です。
*
「直前文字の0回以上繰り返し」を表す正規表現です。より詳細には、「*」の1つ前の文字が、ないか(0回)、1回あるか、あるいは2回以上繰り返されているかのすべてのケースが当てはまります。0回や1回を「繰り返し」と呼ぶのは日本語としてどうかと思われるかもしれませんが、便宜上ということでお許しください。
MS Wordワイルドカードの「*」との比較を含めて、使用例をご紹介したいと思います。
<使用例>
c*t
⇒ ワイルドカードでは「*」は「0文字以上の文字列」を表すため、この例では「cat」「coat」「cheat」「complaint」など、「c」と「t」の間に0文字以上の文字が入っている文字列がヒットしますが、正規表現では「直前文字の0回以上繰り返し」となるため、「t」(0回)「ct」(1回)「cct」(2回)「ccct」(3回)……という文字列がヒットします。
colou*r
⇒ 「color」「colour」の両方を一度に検索したい場合にこのように記すことができます。ただ、「u」が0回以上繰り返されるケースすべてが対象となり、「colouur」というスペルミスがあってもヒットするため注意が必要です。
10*
⇒ 「1」「10」「100」「10000」「10000000000000」など、「1」の後ろに「0」が0回以上繰り返されている文字列がヒットします。
\s\s\s*
⇒ ダブルスペース以上の連続スペース(タブや改行を含む)がヒットします。最後(3つ目)の「\s」が「0回以上の繰り返し」の対象になりますので、スペース(/タブ/改行)が2つか、3つか、4つ以上という意味になります。
いかがでしたでしょうか? 「*」はほかの正規表現文字とも組み合わせたさまざまな使い方がありますので、機能をよく覚えておくと良いかと思います。また、ワイルドカードの「*」との比較もおわかりいただけたら幸いです。
次回は、「直前文字の1回以上繰り返し」を表す「+」についてお話しします。
