在 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 中正则表达式的一些常用操作。需要注意的是,正则表达式中的元字符和修饰符非常丰富,可以根据实际需求进行学习和使用。