皆さま、こんにちは。ホンヤク社の成田です。
寒かったり暖かかったりの日々ですが、皆さまはいかがお過ごしでしょうか。
今回は、数字に関するさまざまな正規表現を取り扱いたいと思います。前回までに紹介した日付と時刻に関わる例以外の数字に関する表現についてご紹介します。
<組み合わせ例>
\d*[13579]
⇒ 「任意の数の数字」と「1、3、5、7、9」の組み合わせですので、奇数がヒットします。ただし、「111110」などのケースでは最後の「0」を除いた「11111」の部分だけがヒットしてしまうため、必要に応じて加筆してください。たとえば、英文内での検索であれば「\d*[13579]\b」とすると良いでしょう。
\d*[02468]
⇒ 上記と同様に、偶数がヒットします。
\d{3}\-?\d{4}
⇒ 以前にも別の例をご紹介しましたが、「3桁の数字」と「4桁の数字」の組み合わせで、郵便番号がヒットします。間のハイフンには「?」を後ろにつけていますので、ハイフンがあってもなくてもヒットするようにしています。なお、半角の数字だけにしたい場合は「[0-9]{3}-?[0-9]{4}」などとしてください。
0[6-9]0\-?\d{4}\-?\d{4}
⇒ 携帯電話番号(日本国内の「060」「070」「080」「090」を想定しています)がヒットします。これも、ハイフンの有無はいずれでも良いようにしております。また、「( | )」を用いて「(060|070|080|090)\-?\d{4}\-?\d{4}」としてもOKです。
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
⇒ 「1~3桁の数字」「.(ドット)」「1~3桁の数字」「.(ドット)」「1~3桁の数字」「.(ドット)」「1~3桁の数字」という組み合わせで、IPアドレスをヒットさせたいときにこのような表現が使えます。1つ目の「\d{1,3}」以降は繰り返しの表現になるため、「{ }」を用いて「\d{1,3}(\.\d{1,3}){3}」と書いても良いでしょう。
いかがでしたでしょうか? 今回ご紹介した以外にも、応用的な考え方でさまざまなパターンの数字にヒットする表現を作ることができるかと思います。ぜひお試しください。
次回は、URLとメールアドレスの表現についてご紹介したいと思います。
