# list0602.rb
# 正規表現

p /abc/ =~ '123abc456'          # マッチング成功はマッチした文字列の番目を返す
p /a[12]c/ =~ '123a1c456'       # (a があり、1か2 があり、c があるか)
p /^abc/ =~ '123abc456'         # マッチング失敗は nil を返す
p /a+bc/ =~ '123aaabc456'
/(a+bc)/ =~ '123aaabc456'
p $1
p /(a*)abc/ =~ '123aaabc456'
p $1
x = $1                          # マッチングの結果は変数に保存
p $'                            # マッチ部分以降の文字列
p /(?>a*)abc/ =~ '123aaabc456'  # バックトラック無しだと。。。
p $1
p x                             # 元$1の内容は x が表している。
url = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/
url =~ 'http://www.ike.tottori-u.ac.jp/index.html#menu1'
puts $2,$4,$5,$9