Hatena::Grouprubyist

Rubyをラクガク(正規表現編) RSSフィード

2009-11-22

[] 量指定子の対象をグループ化  量指定子の対象をグループ化 - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク -  量指定子の対象をグループ化 - Rubyをラクガク(正規表現編)  量指定子の対象をグループ化 - Rubyをラクガク(正規表現編) のブックマークコメント

「1.4.10 丸括弧と後方参照」にて、

これまで丸括弧(())の2つの使い方について見てきた。「|」の対象を制限する使い方と、疑問符(?)やスター(*)といった、量指定子の対象をグループ化する使い方である。

とあるが、「疑問符(?)やスター(*)といった」のスターの例を見た覚えが無かったのでやってみた。

puts "/hoge(foo)*bar/ =~ 'hogefoobar': #{/hoge(foo)*bar/ =~ 'hogefoobar'}"
puts "/hoge(foo)*bar/ =~ 'hogefoofoobar': #{/hoge(foo)*bar/ =~ 'hogefoofoobar'}"
puts "/hoge(foo)*bar/ =~ 'hogefoofobar': #{/hoge(foo)*bar/ =~ 'hogefoofobar'}"
puts "/hoge(foo)*bar/ =~ 'hogebar': #{/hoge(foo)*bar/ =~ 'hogebar'}"
/hoge(foo)*bar/ =~ 'hogefoobar': 0
/hoge(foo)*bar/ =~ 'hogefoofoobar': 0
/hoge(foo)*bar/ =~ 'hogefoofobar':
/hoge(foo)*bar/ =~ 'hogebar': 0

確かに*(スター)も対象をグループ化して使うことができる。