在 Ruby 中,可以使用 /pattern/ 或 %r{pattern} 的形式来表示正则表达式。其中,pattern 是要匹配的模式,可以包含各种元字符和修饰符。
以下是一些常用的正则表达式操作:
=~ 运算符将正则表达式应用于文本,判断文本是否与正则表达式匹配。例如:text = "hello, world"
if text =~ /world/
puts "Matched!"
else
puts "Not matched!"
end
scan 方法搜索文本中与正则表达式匹配的所有子串,并返回一个数组。例如:text = "hello, world"
matches = text.scan(/l/)
puts matches # => ["l", "l", "l"]
sub 或 gsub 方法将文本中与正则表达式匹配的子串替换成指定的字符串。sub 方法只替换第一个匹配的子串,而 gsub 方法替换所有匹配的子串。例如:text = "hello, world"
new_text = text.gsub(/l/, "L")
puts new_text # => "heLLo, worLd"
() 包围子表达式,将其作为一个分组。可以使用 match 方法获取捕获的分组。例如:text = "John Smith"
match = /(\w+) (\w+)/.match(text)
puts match[0] # => "John Smith"
puts match[1] # => "John"
puts match[2] # => "Smith"
以上是 Ruby 中正则表达式的一些常用操作。需要注意的是,正则表达式中的元字符和修饰符非常丰富,可以根据实际需求进行学习和使用。