皆さま、こんにちは。ホンヤク社の成田です。
5連休が終わりました。ですが、木曜と金曜を過ごせばまた週末です。皆さまいかがお過ごしでしょうか。
今回からは、正規表現を使った数字関連の検索や置換方法についてご紹介していきたいと思います。MS Wordのワイルドカードのときに挙げた例と同様のものを扱ってまいります。
<例>
・「第○条」「第○章」のようなパターンの決まった数字を検索したい
検索する文字列を「第[0-90-9]{1,}条」「第[0-90-9]{1,}章」のようにすると、「第」と「条」または「章」の間にある全角または半角の1桁以上の数字をまとめて検索することが可能です。桁数や数字の種類があらかじめわかっている場合は、さらに限定して「第[0-9]{1,2}条」「第[0-9]{3}章」などのようにしても良いでしょう。
・「20XX年YY月ZZ日」(「X」「Y」「Z」は任意の数字、「Y」と「Z」は1桁あるいは2桁)という複数の文字列を、一括で「ZZ/YY/20XX」という形式に変換したい
検索する文字列:「20([0-9][0-9])年([0-9]{1,2})月([0-9]{1,2})日」
置換後の文字列:「$3/$2/20$1」
⇒「XX」「YY」「ZZ」のところをそれぞれ「( )」で囲み、「$1」「$2」「$3」で置換します。月と日は1桁と2桁の場合があるため、どちらにも対応できるように「[0-9]{1,2}」とするのがポイントです。
いかがでしたでしょうか? 数字の可変部分に対応するように正規表現を書くことで、例外のない検索ができたり、一括で置換したりすることができます。
次回は、正規表現の数字関連の検索・置換例についてさらにお話しします。
