正则表达式

正则表达式 #

创建正则表达式 #

一共有三种方式

regex = /[0-9]+\W/
regex = Regexp.new('[0-9]+\W')
regex = %r{[0-9]+\W}

创建正则时可以通过 i 指定忽略大小写,通过 m 指定多行匹配

/Hello/im

Matching #

使用符号 =~,返回匹配的索引

input =~ regex

Searching #

使用方法 match(),返回 MatchData 实例

result = /(\d{4})-(\d{2})/.match '2015-10'
puts result.size # => 3
puts result # => 2015-10
result.captures.each { |m| puts "match: #{m}" } # => 2015 10

Replacing #

替换第一条

phone = '2004-959-559 #This is Phone Number'
phone = phone.sub!(/#.*$/, '')
puts "Phone Num : #{phone}" # => Phone Num : 2004-959-559

替换全部

puts 'abbc'.gsub(/a/, 'b') # bbbc
puts 'abbc'.gsub!(/a/, 'b') # bbbc
puts 'abbc'.gsub(/d/, 'a') # abbc
puts 'abbc'.gsub!(/d/, 'a') # nil
沪ICP备17055033号-2