首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查字符串是否与多个子字符串/正则表达式匹配

检查字符串是否与多个子字符串/正则表达式匹配
EN

Stack Overflow用户
提问于 2015-03-16 14:26:46
回答 3查看 100关注 0票数 0

我有一组段落和一组关键字。我希望遍历段落数组,并为包含我所有关键字的元素返回true。关键字可以是任何顺序,但必须在同一段落中找到所有关键字,才能使其为true,而不仅仅是其中的一部分。

有没有一种方法可以在没有=~ regex1 && =~ regex2 && =~ regex3 && =~ regex4的情况下使用一个Regexp.union或一个正则表达式来完成这项工作?

EN

Stack Overflow用户

发布于 2015-03-16 14:37:17

如果模式数组只包含关键字而不包含模式:

代码语言:javascript
复制
str = "foo went to bar with abc and xyz"

pats = ["abc","xyz","foo","bar"]
pats.all? { |e| str.include?(e) }
# => true

pats = ["abc","xyz","foo","bar", "no"]
pats.all? { |e| str.include?(e) }
# => false

如果模式数组包含模式:

代码语言:javascript
复制
pats = [/abc/, /xyz$/, /^foo/, /bar/]
pats.all? { |e| str =~ e }
# => true

pats = [/abc/, /xyz$/, /^foo/, /bar/, /no/]
pats.all? { |e| str =~ e }
# => false
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29070760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档