我试图在数组中找到与多个正则表达式模式匹配的字符串。我想出了如何针对以下一种模式执行此操作:
spamWords = Regexp.new("Delighted")
spamCount1 = 0
spamArray.each do |word|
if word =~ spamWords
spamCount1 +=1
end
end
p spamCount1
我遍历了spamWord
个字符串数组,但是我想知道是否有更简单的方法来实现这一点。
答案 0 :(得分:2)
您可以将多个模式组合为一个正则表达式,然后完全按照以下方式执行搜索:
spamWords = Regexp.new("Delighted|Saddened")
您还可以使用Regexp.union
为您自动生成此正则表达式:
spamWords = Regexp.union("Delighted", "Saddened")