常见的快速使用
正则表达式通常在方法中用作参数,以检查是否存在其他字符串或搜索和/或替换字符串。
你经常会看到以下内容:
string = "My not so long string"
string[/so/] # gives so
string[/present/] # gives nil
string[/present/].nil? # gives true
因此,你可以简单地将其用作检查字符串是否包含子字符串
puts "found" if string[/so/]
更高级但仍然短而快:使用第二个参数搜索特定组,2 是本例中的第二个,因为编号从 1 开始而不是 0,组是括在括号中的组。
string[/(n.t).+(l.ng)/, 2] # gives long
也经常使用:用 sub
或 gsub
搜索和替换,\1
给出第一个找到的组,\2
给第二个:\2
string.gsub(/(n.t).+(l.ng)/, '\1 very \2') # My not very long string
记住最后的结果,可以在以下行中使用
$2 # gives long