我可以在 ruby​​ 中有一个正则表达式数组吗?

Hop*_*coy 1 ruby regex arrays automated-tests

例如:

record= [#data retrieved from database]
expect=~ [/^69[0-9]*/, /^[0-9]*/, /^[A-Z][a-z]* [A-Z][a-z]*/, /^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[0-9]{2}[0-9]{4}/]

if(record[0]== expect[0])
  puts("Pass")
else
  puts("Fail")
end
Run Code Online (Sandbox Code Playgroud)

如果有更复杂的方法,请告诉我,但我也想知道这样的方法是否适用于参考。

Jar*_*eck 7

我可以在 ruby​​ 中有一个正则表达式数组吗?

是的。

如果有更复杂的方法[测试给定的字符串是否与所有正则表达式匹配]?

使用Enumerable#all?.

patterns = [/foo/, /bar/]
input = 'baz'
patterns.all? { |pattern| pattern.match?(input) }
Run Code Online (Sandbox Code Playgroud)

match? 最近在 ruby​​ 2.4 中添加。