プロを目指す人のためのRuby入門 その7
第6章 正規表現を理解する
Ruby の環境を Vagrant を使って Ubuntu に移しました。N予備校のおかげですね。
正規表現についてはこれを読むという話です。
Rubular
記事で紹介されている Rubular を使って視覚的に正規表現を体験できます。
正規表現オブジェクト
"/正規表現/ "で正規表現オブジェクトを作ります。"=~" で文字列が一致した位置を返します。"!~" でマッチしなかったときに、true、したときに false を返します。
regrex = /d{3}-\d{4}/ # 数字3つとハイフンと数字4つ '123-4567' =~ regrex # 0 'ffff' =~ regrex # nil 'apple000-1111' =~ regrex # 5 'grape' !~ regrex # false
文字列をキャプチャするには、正規表現と match() メソッドを使います。
text = '私の誕生日は1999年3月3日です。' regex = /(\d+)年(\d+)月(\d+)日/ m = regex.match(text) #m[0] = 1999年3月3日, m[1] = 1999, m[2] = 3, m[3] = 3
キャプチャの結果に名前をつけると、シンボルで値を取りだすことができます。
text = '私の誕生日は1999年3月3日です。' regex = /(?<year>\d+)年(?<month>\d+)月(?<day>\d+)日/ m = regex.match(text) m[:year] # 1999 m[:month] # 3 m[:day] # 3
本
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る