我想检查一个字符串是否包含所有给定的正则表达式。我不想遍历每个正则表达式的字符串。
return "foo".all_chars {include? ( \letter\ && \number\ && \special\)}
或
return "foo".all_chars {include? ( \letter , number , special\)}
发布于 2018-07-28 06:46:26
我不想遍历每个正则表达式的字符串。
您最终会得到一个非常讨厌、不可读和不可维护的正则表达式模式。但是如果你愿意,你可以把它们组合起来,然后在上面调用match?
。
鉴于..。
regex1 = %r{[a-z]}
regex2 = %r{[^aeiou]}
all_regex = %r{[a-z&&[^aeiou]]}
但是使用Enumerable#all?
并不会有什么坏处
[regex1, regex2, regex3].all? { |regex| string.match?(regex) }
https://stackoverflow.com/questions/51566408
复制相似问题