皆さま、こんにちは。ホンヤク社の成田です。
雨の日が続いていますが、皆さまいかがお過ごしでしょうか。
今回は、正規表現の先読みについてご紹介したいと思います。先読みとは、「指定のテキストの前(=先)にあるテキストをヒットさせる」という意味であり、後々ご紹介する「指定のテキストの後ろにあるテキストをヒットさせる」という後読みとセットで覚えると便利です。
先読みは、「(?=)」と記し、「=」の後ろに任意のテキストを入力することで使えます。実際の例を紹介したいと思います。
例
。(?=」)
⇒『」』の前にある句点の「。」を検索するための、先読みを使った正規表現です。単にすべての「。」を検索するのは非効率ですので、このように先読みを使用することで『」』の前に句点の「。」がないかを絞り込んでチェックできます。
\d+(?=mm)
⇒「mm」の前にある1文字以上の数字を検索するための、先読みを使った正規表現です。たくさんある数字の中で、特定の単位がついているものだけを検索したいときにこのように記すことができます。
\b\w+\b(?=\.)
⇒ピリオドの前にある英単語を検索するための、先読みを使った正規表現です。このように特定の記号などの前にある単語を絞り込んで検索するときにも先読みはとても便利です。
いかがでしたでしょうか? 先読みの基本的な機能と使用法がおわかりになれば幸いです。
次回は、「指定以外のテキストの前にあるテキスト」を検索するための否定先読みについてお話ししたいと思います。
