You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断一个通配符表达式(又称glob)是否包含另一个通配符表达式?

通配符表达式包含关系判断

核心定义

判断通配符表达式g1是否包含g2,本质是确认:所有能匹配g2的字符串,必然都能匹配g1。

示例解析

给定示例:

g1 = "*.txt"
g2 = "hello*.txt"

所有匹配g2的字符串(比如hello123.txt、helloworld.txt),都满足以.txt结尾的规则,完全符合g1的匹配逻辑,因此g1包含g2。

通用判断逻辑

可以按以下思路分析:

  • 将通配符表达式拆分为「固定前缀」「通配段」「固定后缀」三部分
    • g1的固定前缀,必须是g2固定前缀的前缀(或g1无固定前缀)
    • g1的固定后缀,必须是g2固定后缀的后缀(或g1无固定后缀)
    • g1的通配符(*)覆盖范围需能包含g2的通配段及固定内容:比如g1为*.txt,g2为hello*.txt,g1的*可以覆盖hello加任意字符的组合,满足包含关系
  • 特殊情况:
    • 若g1为*,则它包含任意通配符表达式
    • 若g2为*,仅当g1也为*时,才满足g1包含g2

内容的提问来源于stack exchange,提问作者michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:17:31