例如:
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
如果有更复杂的方法,请告诉我,但我也想知道这样的方法是否可以作为参考。
答案 0 :(得分:3)
我可以在ruby中使用正则表达式数组吗?
是的
如果有一种更复杂的方法[测试给定的字符串是否匹配所有正则表达式]?
使用Enumerable#all?
。
patterns = [/foo/, /bar/]
input = 'baz'
patterns.all? { |pattern| pattern.match?(input) }
match?
最近在ruby 2.4中添加。
答案 1 :(得分:0)
您可以尝试使用===
运算符,该运算符在遵循正则表达式文字时可以与字符串进行比较。
/^[a-z]*$/ === "HELLO" #=> false
/^[A-Z]*$/ === "HELLO" #=> true
但是我也建议检查=~
的文档。