匹配列表中至少两个单词的正则表达式

2023-12-25

我有一个单词列表 -"foo", "bar", "baz"- 我想编写一个正则表达式来匹配至少包含其中两个的字符串。例如。,"foo baz"应该匹配同时"ba foo z"不应该。

显而易见的解决方案"(foo|bar|baz).*(foo|bar|baz)"有效,但我觉得它不令人满意,因为它列出了单词twice。如果我有 25 个单词而不是 3 个单词怎么办?如果我正在查找至少包含 4 个给定单词而不是仅 2 个单词的字符串该怎么办?


听起来您并没有在寻找确切的单词,所以 Donkey 的解决方案可能不是您想要的

((foo|bar|baz).*?){2}

它在文本中搜索任何这些字符串,然后搜索任何字符,直到再次找到这些可选字符串之一,并且由于惰性任何字符部分将通过不匹配任何内容来实现,因此匹配完成。

如果您希望它匹配多行,请务必打开 dot all,或使用 \s\S 而不是 dot。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匹配列表中至少两个单词的正则表达式 的相关文章

随机推荐

  • 使用 Python 3 从位于 Jupyter Notebook 中相对导入的另一个目录中的模块导入本地函数

    这个问题在这里已经有答案了 我有一个类似于以下的目录结构 meta project project1 init py lib module py init py notebook folder notebook jpynb 工作时在note
  • 附加与十六进制相反的 DWORD 十进制值

    我需要向注册表写入一个新值 我陷入了以下代码 因为我可以添加的是标准密钥 并且我需要将新的十进制值放置到 DWORD 键 相对于十六进制值 暗淡的wsh wsh CreateObject WScript shell wsh regwrite
  • 选择分隔字符串作为 Oracle sql 中的表

    我有一个像这样的字符串 宽度 10 7 20 45 高度 25 5 6 45 长度 35 6 3 4 我正在寻找编写一个选择查询来选择它作为一个表 例如 Width Height Length 10 25 35 7 5 6 20 6 3 4
  • GROUP BY 忽略属性

    例如我有这张表 itemgroup description price A a 10 A b 12 A c 14 B g 11 B h 16 我想选择一组中价格最高的行 如下所示 A c 14 B h 16 让我接近这个的 SQL 查询 功
  • 在 3D 地形上,给定 3D 线,找到线与地形之间的交点

    我有一个 3D 地形网格 其中每个坐标 x y z 每个网格的值都是已知的 现在 我有一条单调增加 减少的线 它的起点也是已知的 我想找到地形和线的交汇点 做到这一点的算法是什么 我能想到的是将 3D 地形的坐标存储在nxn矩阵 然后我会根
  • 如何在枚举中调用附加方法?

    enum Enum1 BIG 8 HUGE 10 public String getName return Huge public String getContry return India additional Method OVERWH
  • Azure Active Directory 登录应用程序始终创建企业应用程序,无法设置replyUrls

    过去 有单独的网站和 Azure 经典门户用于管理登录应用程序 在经典门户中 您可以编辑 ReplyUrls 在新门户中 无论您如何创建应用程序 企业或应用程序注册 您都无法从 UI 编辑您的 ReplyUrls 使用应用程序 您可以第一次
  • 如何找出哪个 Rust 依赖项添加了动态链接库

    我有一个相当大的项目 有很多依赖项 我希望生成的二进制文件使用尽可能少的动态链接库 我刚刚检查了生成的二进制文件并看到 ldd target debug foo libssl so 1 1 gt lib x86 64 linux gnu l
  • 使用python解析JSON以根据条件获取值

    我是 python 新手 尝试解析 json 文件并根据条件获取所需字段 例如 如果 status true 则 打印姓名 json文件 id 12345 name London active true status true versio
  • 检查蓝牙状态 - Swift 4

    我在 Xcode 中遇到蓝牙问题 我找不到关于如何检查蓝牙是否打开的好解决方案 我想要的就是这个 我在网上搜索了一些解决方案 但没有任何对我有用 关于如何检查蓝牙有什么想法吗 我导入了 CoreBluetooth 类并编写了这行代码 if
  • 如何从 Swift 中的字符串中删除引号?

    我正在尝试删除 Swift 中的引号String就像是 Hello 这样斯威夫特String只是 Hello 你可以简单地使用 Swift 1 var str String Hello print str Hello print str s
  • 角度4-在一个打开的选项卡中注销时在所有选项卡中自动注销

    我想在一个打开的选项卡中注销时自动从所有打开的选项卡中注销 我在登录时将 jwt 令牌设置为 localStorage 并在注销时删除该令牌 如何使用存储事件从所有打开的选项卡中注销 您可以在存储上添加事件侦听器 如下所示 window a
  • 如何在java中生成XML(以字符串表示形式)

    我定义了一个java类 但只需要将该类的一些字段输出到XML中 返回的类型必须是 String 我首先选择了使用 StringBuffer 的最简单方法 但是 当我尝试处理输出字符串表示时 它失败了 我认为这很可能是因为输入中有些字符没有以
  • 在C中循环中重新声明数组

    当循环重复时 在循环中声明的数组不会设置为零吗 我有一个数组并以这种方式使用它 while i
  • C++0x 草案中的一点:n3290

    N3290 ISO 标准草案 3 4 1 12 中的一点 在查找中使用的名称期间常量表达式 of an 枚举数定义 之前声明的枚举器枚举的可见 并隐藏在包含该枚举的块 类或命名空间范围中声明的实体的名称枚举说明符 这是添加的新点 任何人都可
  • HTML5 视频:检测时间线的拖动

    我想知道是否有一种完全可靠的方法可以知道用户何时拖动 HTML5 视频的时间线 到目前为止 我一直绑定到 timeUpdate 但尚不清楚 currentTime 是否由于拖动而增加 或者只是由于视频播放而增加 谢谢 我知道MediaEle
  • H2数据库从1.4.200升级到2.0.204后集成测试出现问题

    最近我升级了H2数据库在我们的SpringBoot 2 5 8来自版本的项目1 4 200 to 2 0 204 它仅用于测试目的 对于生产 我们使用PostgreSQL 12 9 好像升级后有些词变成了关键词H2数据库例如 day val
  • 查询生成器/DQL 不适用于 INNER JOIN - 语法问题

    我知道我这里有语法问题 但我无法弄清楚 我正在尝试对 5 个表进行 SELECT 和 INNER JOIN 但 Symfony 抱怨 JOIN 中的实体在定义之前就被使用了 实际错误如下 Semantical Error line 0 co
  • symfony2 学说 expr 子查询:错误:参数号无效

    试图获得用户喜欢的状态 public function getLikedStatuses User user qb this gt em gt createQueryBuilder qb gt select s id gt from Wal
  • 匹配列表中至少两个单词的正则表达式

    我有一个单词列表 foo bar baz 我想编写一个正则表达式来匹配至少包含其中两个的字符串 例如 foo baz 应该匹配同时 ba foo z 不应该 显而易见的解决方案 foo bar baz foo bar baz 有效 但我觉得