Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 检查字符串是否匹配任何正则表达式数组?_Ruby - Fatal编程技术网

Ruby 检查字符串是否匹配任何正则表达式数组?

Ruby 检查字符串是否匹配任何正则表达式数组?,ruby,Ruby,我有一个正则表达式数组:[/apple/I、/banana/I、/berry/I] 我还有一个字符串数组,str\u array。我想迭代stru数组,并将任何与任何正则表达式不匹配的字符串输出到屏幕。如果它与任何一个匹配,它应该被忽略 我该怎么做呢?为了避免对每个正则表达式进行多次匹配,可以使用Regexp.union: str_array = %w[pineapple orange blueberry] str_array.reject{|e| [/apple/i, /banana/i, /

我有一个正则表达式数组:
[/apple/I、/banana/I、/berry/I]

我还有一个字符串数组,
str\u array
。我想迭代
stru数组
,并将任何与任何正则表达式不匹配的字符串输出到屏幕。如果它与任何一个匹配,它应该被忽略


我该怎么做呢?

为了避免对每个正则表达式进行多次匹配,可以使用
Regexp.union

str_array = %w[pineapple orange blueberry]
str_array.reject{|e| [/apple/i, /banana/i, /berry/i].any?{|re| re =~ e}}
#=> ["orange"]
regexes = [/apple/i, /banana/i, /berry/i]
union_regex = Regexp.union(regexes)
str_array.reject{|e| e =~ union_regex }

要避免对每个正则表达式进行多次匹配,可以使用
Regexp.union

regexes = [/apple/i, /banana/i, /berry/i]
union_regex = Regexp.union(regexes)
str_array.reject{|e| e =~ union_regex }

@抱歉,我没有校对我写的东西。如果你觉得答案很有帮助,请考虑选择你最看重的一个。如果你发现答案很有帮助,请考虑选择你最看重的一个。使用<代码>任何一个,当匹配的正则表达式被检测出来时也会做捷径。