Memoize

BasicWerk   EC Support   Technique   Facebook  

20140815220451_ruby_regex

ruby_regex

 

/.../ は正規表現リテラル。

 
> /^\d+/.match("123ggg")
=> #<MatchData "123">
 
# to_s メソッドでマッチ箇所を文字列化
> /^\d+/.match("123ggg").to_s
=> "123"
 

 

正規表現の中に / が頻発する場合は %r で任意のデリミタが使える。

 
> str = '<a href="http://basicwerk.com/memoize/" target="_blank">Memoize</a>'
=> "<a href=\"http://basicwerk.com/memoize/\" target=\"_blank\">Memoize</a>"
 
> %r{http[^">'\s<]+}.match(str).to_s
=> "http://basicwerk.com/memoize/"
 
> %r`>(.+?)<`.match(str)
=> #<MatchData ">Memoize<" 1:"Memoize">
 
# 単に to_s するとマッチ全体
> %r`>(.+?)<`.match(str).to_s
=> ">Memoize<"
 
# キャプチャ箇所は [n]# で取り出す
> %r`>(.+?)<`.match(str)[1]#
=> "Memoize"
 

 

http://docs.ruby-lang.org/ja/1.9.3/doc/spec=2fregexp.html

 


© Shin Nakamura/BasicWerk 2014