ruby - 如何检查字符串是否包含每个正则表达式
问题描述
我想检查一个字符串是否包含所有给定的正则表达式。我不想遍历每个正则表达式的字符串。
return "foo".all_chars {include? ( \letter\ && \number\ && \special\)}
或者
return "foo".all_chars {include? ( \letter , number , special\)}
解决方案
我不想遍历每个正则表达式的字符串。
你最终会得到一个非常讨厌、不可读和不可维护的正则表达式模式。但是,如果您愿意,可以将它们组合起来,然后调用match?
它。
鉴于...
regex1 = %r{[a-z]}
regex2 = %r{[^aeiou]}
all_regex = %r{[a-z&&[^aeiou]]}
但是使用起来真的没有坏处Enumerable#all?
[regex1, regex2, regex3].all? { |regex| string.match?(regex) }
推荐阅读
- android - OKHTTP3 抛出 ConnectionShutdownException
- r - 从字符串集中提取第一个字符
- javascript - 在 React Native 中将数据共享到社交媒体
- azure - 无法使用 SPFX Webpart 从 MS Graph 检索邮件:ResourceNotFound - 无法发现资源
- java - 如何从 jdbc-inbound-channel-adapter 捕获异常?
- python - 使用数组变量 Python 的名称保存文件
- mysql - SQL 多重计数与 3 个表
- android - 从 SharedPreferences 设置 arraylist 后,RecyclerView 图像不可见
- c# - 更改外键表的名称
- angular - 角路由器插座问题,型号未更新