Rubyに限らず使われる正規表現ですが
今回は電話番号を取得する方法についてご紹介いたします。
ポイントは以下のとおりです。
- 数字は\dで指定する
- 数字の桁数の取得は、\d{ x , x }でx桁からx桁まで指定
- 電話番号のハイフン または カッコ は[ ]で指定
上記を踏まえサンプルコードが以下です。
</pre> text = <<EOS 番号:090-1234-1234 番号:1111-3333-2222 番号:08-123-1111 番号:080(1234)1234 EOS # 数字3桁 - 数字4桁 - 数字4桁 p text.scan(/\d\d\d-\d\d\d\d-\d\d\d\d/) # => ["090-1234-1234", "111-3333-2222"] # 数字2-4桁 - 数字3-4桁 - 数字4桁 # 桁数の幅は {x, x} で対応 p text.scan(/\d{2,4}-\d{3,4}-\d{4}/) # => ["090-1234-1234", "1111-3333-2222", "08-123-1111"] # 数字2-4桁 - or ( 数字3-4桁 - or ) 数字4桁 # 桁数の幅は {x, x} で対応 # ハイフン または カッコ は [-(] or [-)] で対応 p text.scan(/\d{2,4}[-(]\d{3,4}[-)]\d{4}/) # => ["090-1234-1234", "1111-3333-2222", "08-123-1111", "080(1234)1234"] <pre>
初め正規表現は苦手意識がある方もいるかと思いますが少しずつ整理して覚えていきましょう(*^^*)
何か参考になると幸いです(*^^*)