# 模式匹配语法
很多 Opus 函数中都可以使用通配符模式,其中包括:
- 使用 [查找文件](/Manual/basic_concepts/searching_and_filtering/find_files/README.zh.md) 工具搜索文件时(匹配文件名、文件内容或元数据)
- 对显示范围内外的文件进行 [过滤](/Manual/basic_concepts/searching_and_filtering/README.zh.md) 时
- 在文件列表中 [选择](/Manual/basic_concepts/selecting_files/simple_wildcard_selection.zh.md) 文件时
- 对复制或移动等 [文件操作](/Manual/file_operations/filtered_operations/README.zh.md) 进行过滤时
除了 [正则表达式](regular_expression_syntax.zh.md),Opus 还支持一种更简单的通配符系统,称为 *标准模式匹配* 系统。在使用通配符时,可以指定一个由文字和特殊 *通配符标记* 混合组成的模式。每个标记都用来匹配目标字符串中的一个或多个字符。举一个简单的例子,模式 **\*.doc** 匹配任何以文字字符 *.doc* 结尾的内容(换句话说,匹配文档文件)。
<table>
<thead><tr><th>
标记</th><th>
描述
</th></tr></thead><tbody><tr><td>
** \#**</td><td>
紧跟 **\#** 处的字符或表达式重复 0 次或多次。
例如:
**a#xb** 匹配 *ab*, *axb*, *axxb*, *axxxb* 等。
**a#(xyz)b** 匹配 *ab*, *axyzb*, *axyzxyzb* 等。
</td></tr><tr><td>
** ?**</td><td>
匹配任意单个字符。
例如:
**a?b** 匹配 *aab*, *abb*, *acb*, *adb* 等。它 **不** 匹配 *ab*。
</td></tr><tr><td>
** \|**</td><td>
用来分隔多个表达式,其中任何一个都可以匹配(实际上是一个 **或** 运算符)。
例如:
**a(x\|y\|z)b** 匹配 *axb*, *ayb* 和 *azb*。
**\*.(gif\|bmp\|jpg)** 匹配任何以 *.gif*, *.bmp* 或 *.jpg* 结尾的内容。
</td></tr><tr><td>
** ~**</td><td>
这是 **非** 运算符,它对后面的表达式取反。
例如:
**~(\*.doc)** 匹配除以 *.doc* 结尾的内容之外的任何内容
**~(\*.(gif\|bmp))** 匹配除以 *.gif* 或 *.bmp* 结尾的内容之外的任何内容
</td></tr><tr><td>
** ()**</td><td>
括号用来将多个字符组合成一个表达式。如果我们取上面的 **a#(xyz)b** 为例,括号用来将 *xyz* 组成一个表达式。如果没有括号(即 **a#xyzb**),将认为只有 *x* 紧跟在 **\#** 字符后面 - *yzb* 将被当作文字对待。
可以在括号内嵌套括号(如上 **~** 的示例)来将多个表达式组合成一个更大的表达式。
例如:
**NEW-((\*.doc)\|(\*\_backup\_\*))** 匹配所有以 *NEW-* 开头并以 *.doc* 结尾或后跟 *\_backup\_* 字符串的内容。
</td></tr><tr><td>
** \[\]**</td><td>
匹配指定字符集中的任意单个字符。
可以将字符集指定为单个字符(例如 **\[abdfg\]**)或字符范围(例如 **\[a-j\]**)或多个范围。
例如:
**\[abc\]** 匹配 *a*, *b* 或 *c*
**\[af-j\]** 匹配 *a*, *f*, *g*, *h*, *i* 或 *j*
**\[a-dh-kq-\]** 匹配 *a*, *b*, *c*, *d*, *h*, *i*, *j*, *k* 或从 *q* 开始的任意字符
**IMGP#\[0-9\].jpg** 匹配 *IMGP0158.jpg*(或任何其它数字)。
</td></tr><tr><td>
** \[~\]**</td><td>
匹配指定字符集中的 **任意** 字符。有关如何定义集合的信息,请参阅 **\[\]**。
例如:
**\[~pqr\]** 匹配除 *p*, *q* 或 *r* 之外的任何字符
</td></tr><tr><td>
** ** \*</td><td>
匹配任意数量的字符,包括零个。这是 **\#?** 的同义词。
**\*.doc** 等价于 **\#?.doc**。
例如:
**abc\*xyz.\*q** 匹配以 *abc* 开头、后跟 *xyz* 且以以 *q* 结尾的任意文件扩展名的任何文件名。
</td></tr><tr><td>
**'**</td><td>
称作 *转义字符* 的撇号。
在模式字符串中,任何不是通配符标记的字符都视为文字字符 - 文字字符必须与目标字符串中的字符完全匹配。但是,如果您实际上是想将通配符标记用作文字字符本身,则必须在通配符标记前加撇号对其进行转义。
例如:
**a#xb** 匹配 *ab*, *axb*, *axxb*, *axxxb* 等,如上所见
**a'#xb** 将仅匹配 *a#xb*
</td></tr><tr><td>
**grp:**</td><td>
当使用通配符匹配文件名时,这是引用 [文件类型组](/Manual/file_types/file_type_groups.zh.md) 定义的所有文件扩展名的简写方式。
例如,**Images** 组可能包含文件扩展名 *.jpg*, *.bmp* 和 *.gif*。如果您希望命令自动选择这些类型的文件,可以使用以下命令:
**Select \*.(jpg\|bmp\|gif)**
更好的办法是使用 **grp:** 标记自动包含该组中的所有文件扩展名:
**Select grp:Images**
这样既便于阅读(和输入!),而且如果您将来会在这个组中添加或删除文件类型,那么引用该组的任何模式都会自动反映新的更改。
例如:
**(grp:Images\|grp:Documents)** 匹配 **Images** 或 **Documents** 文件类型组中的任何文件
</td></tr></tbody>
</table>
- 主页
- 文件浏览
- 文件窗口
- 工具栏
- 收藏栏
- 多文件夹
- 单窗口模式
- 标签页
- 分栏
- 关联文件夹
- 来源和目标
- 查看
- 列表
- 列
- 排序
- 分组
- 视图
- 详细视图
- 缩略图
- 平面视图
- 标记
- 选择
- 复选框
- 即时查找
- 信息提示
- 查看器
- 文件夹格式
- 导航
- 地址栏
- 文件夹树
- 收藏夹
- 别名
- 文件对话框
- 文件搜索
- 文件操作
- 文件创建
- 文件移动
- 文件复制
- 重命名
- 剪贴板
- 上下文菜单
- 拖放
- 安全
- 文件类型
- 元数据
- 压缩包
- 图片
- 文档
- 纯文本
- 代码
- Markdown
- Word 文档
- 网页
- 表格
- Excel 表格
- 数据库
- 幻灯片
- 模型
- 种子
- 邮件
- Directory Opus
- 配置
- 主题
- 命令
- 命令
- 修饰符
- 内置命令
- 脚本
- 变量
- 官方手册
- 目录
- 版权
- 许可证
- 最终用户许可条件
- 批量许可条件
- 致谢
- 简介
- 基本概念
- 启动 Opus
- 文件窗口
- 打开文件窗口
- 默认文件窗口
- 导航
- 主文件夹
- 上、前进、后退
- 文件树
- 地址栏
- 路径字段
- 驱动按钮和下拉菜单
- 收藏夹
- 智能收藏夹
- 最近和历史列表
- 别名
- 成对文件夹
- 标签
- 标签切换器
- 锁定标签页
- 关联标签页
- 标签组
- 视图模式
- 双栏
- 导航锁定
- 工具栏
- 默认工具栏
- 菜单工具栏
- 操作工具栏
- 收藏栏
- 文件列表工具栏
- “图像”工具栏
- 动态工具栏
- 工具栏集
- 即时查找字段
- 查看器窗格
- 元数据窗格
- 实用程序面板
- 布局
- 样式
- 主题
- 创建自己的主题
- 状态栏
- 资源管理器替换模式
- 源目录和目标目录
- 选择文件
- 使用鼠标和键盘进行选择
- 单击模式
- 复选框模式
- 简单通配符选择
- 高级选择
- 选择单元格
- 搜索和过滤
- 过滤栏
- 显示所有内容
- 工具栏过滤项
- 快速搜索
- 查找文件
- 简易查找
- 高级查找
- 排序和分组
- 手动排序
- 文件夹格式
- 文件夹格式对话框
- 列
- 冻结列
- 排序
- 分组
- 显示
- 过滤器
- 已保存文件夹格式
- 自动记住格式
- 内容类型
- 确定当前格式
- 锁定格式
- 可展开文件夹
- 平面视图
- 文件夹大小
- 虚拟文件系统
- 系统虚拟文件夹
- 文件集合
- 存储的查询
- 库
- 压缩包
- FTP
- MTP
- 文件操作
- 复制、移动和删除文件
- 复制和粘贴
- 拖放
- 使用工具栏按钮进行复制
- 复制时使用通配符
- 复制队列
- 复制覆盖和幽灵文件
- 无人值守操作
- 作业栏
- 确认文件替换对话框
- 复制已更新文件
- 同步
- Deleting Files
- 安全删除
- 重命名文件
- 内联重命名
- 简单通配符重命名
- 高级重命名
- 重命名预设
- 重命名模式
- 标准通配符重命名
- 查找和替换
- 正则表达式
- 正则表达式 + 查找并替换
- 重命名操作
- 文件编号
- 重命名宏
- 重命名选项
- 使用元数据重命名
- 重命名脚本
- 创建文件夹
- 创建压缩包
- 添加到压缩包文件
- 添加到压缩包对话框
- Zip 选项
- 7z 选项
- RAR 选项
- TAR BZip2 选项
- TAR GZip 选项
- Zip 文件
- Zip 注释
- 只读模式
- 自解压 Zip 文件
- 跟踪和撤销文件操作
- 更改属性
- 标记和状态图标
- 编辑元数据
- 文档属性
- 图片属性
- 音乐属性
- 添加封套插图
- 视频属性
- 扩展属性
- 元数据的编程设置
- 时间偏移
- 文件说明
- 过滤操作
- 过滤条款
- 添加、删除和编辑子句
- 过滤条款类型
- 文本过滤器
- UAC 和管理员模式
- FTP
- FTP 地址簿
- 默认设置
- 站点页
- 网络页面
- Display Page
- 索引页面
- 声音页面
- 杂项页面
- 速度页面
- 特殊页面
- 转账页面
- 代理页面
- 添加新站点
- FTP 连接
- 站点属性
- FTP 日志
- FTP 路径
- 附加功能
- 查看图像
- 查看器鼠标、键和工具栏
- 图像标记
- 文件窗口关联查看器
- 播放声音
- 图像转换
- 自动化图像转换任务
- 打印文件夹
- 重复文件查找器
- 拆分文件
- 拼接文件
- 制作链接和连接点
- 浮动工具栏
- 控制浮动工具栏
- 系统级热键
- 导出到 USB
- 与 Everything 集成
- 擦除所有空白
- 文件类型概览
- 更新检查器
- CLI
- 崩溃日志
- 配置
- 备份和恢复配置
- 配置类别
- 色彩和字体
- 暗黑模式
- 主题
- 颜色混合
- Directory Opus 颜色
- Windows 颜色
- 图像
- 字体
- 文件列表
- 文件夹展开
- 鼠标
- 背景事件
- 导航
- 选项
- 信息提示
- Tab键
- 状态栏
- 标题栏
- 文件列表列
- 外观
- 求值器列
- 求值器分组
- 文件名
- 图标
- 选项
- Shell 属性
- 文件列表模式
- 详细信息
- 增强模式
- 外观
- 按钮
- 缩略图
- 文件夹
- 性能
- 样式
- 平铺模式
- 文件操作
- 文件复制
- 属性
- 确认
- 元数据
- 安全
- 删除文件
- 双击文件
- FTP
- 日志记录
- 元数据
- 元数据编辑器
- 音乐类型
- 选项
- 进度指示器
- 统计文件
- 作业栏
- 重命名文件
- 控制键
- 过滤和排序
- 过滤
- 过滤栏
- 即时查找
- 过滤模式
- 查找模式
- 文件夹模式
- 全局过滤器
- 快速键
- 排序
- 文件夹
- 自动读取
- 文件夹格式
- 自动格式
- 文件夹图像
- 文件夹大小
- 交接点和链接
- 网络服务器
- 特殊文件夹
- 虚拟文件夹
- 桌面
- 文件系统
- 此电脑
- 文件夹标签页
- 尺寸
- 边缘颜色
- 文件夹标签栏
- 分组
- 锁定
- 选项
- 文件夹树
- 外观
- 内容
- 展开/折叠
- 图钉
- 选项
- 选择事件
- 常用路径
- 收藏夹列表
- 文件夹别名
- 主文件夹
- 配对文件夹
- 最近列表
- 智能收藏夹
- Internet
- 电子邮件
- 更新
- 标记
- 标记 定义
- 标记分配
- 在特定文件夹中
- 选项
- 启动 Opus
- 资源管理器替换
- 来自桌面
- 任务栏图标
- 来自 Win + E 热键
- 启动
- 布局和样式
- 默认文件窗口
- 布局
- 样式
- 地址栏
- 选项
- 路径字段
- 外观
- 菜单
- 路径补全
- 工具栏
- 其它
- 高级选项
- 外部工具
- 隐私
- Shell 扩展
- 声音
- Windows 集成
- 跳跃列表
- Windows 启动延迟
- 工具栏
- 外观
- 文件夹工具栏
- 图标
- 选项
- 工具栏组
- 视图工具条
- 用户界面
- 语言
- Spacing
- 过渡动画
- 查看器
- 独立查看器
- Options
- 尺寸和位置
- 鼠标按钮
- 已标记图片
- 幻灯片放映
- 查看器窗格
- 查看器插件
- Zip 和其它压缩包文件
- 压缩包与 VFS 插件
- 压缩包选项
- 上下文菜单
- Zip 文件
- 自定义
- 自定义对话框
- 工具栏
- 上下文菜单
- 按键
- 命令
- User Commands
- 默认工具栏
- 创建您自己的按钮
- Editing the Toolbar
- 启动选项
- 工具栏上下文菜单
- 多功能按钮
- 下拉按钮和菜单
- 动态按钮
- 驱动器按钮配置
- Field Buttons
- 路径字段配置
- 过滤器字段配置
- 驱动器下拉配置
- 与他人分享功能
- 命令编辑器
- 简单命令编辑器
- 高级命令编辑器
- 使用热键控件
- 用户自定义命令
- 同步和异步函数
- 内部命令参数
- 将文件传递到外部程序
- 命令修饰符
- MS-DOS 批处理命令
- WSL 命令
- 嵌入重命名脚本
- DDE 函数
- 嵌入式功能
- 文件类型
- Directory Opus 文件类型
- 文件类型组
- 使用方式编辑器
- 文件类型编辑器
- Actions
- 事件
- 上下文菜单
- 下拉菜单
- 替换菜单
- Info Tip
- 平铺模式
- 脚本
- 重命名脚本
- Custom Fields in the Rename Dialog
- 脚本函数
- 脚本插件
- 包括文件
- 模块
- 脚本包
- 脚本安装器文件
- Script Management
- 创建新脚本
- 脚本安装器
- 脚本编辑器
- 脚本资产**
- 编辑器
- 代码编辑器
- 对话框编辑器
- 对话框编辑器命令
- Adding Dialog Controls
- 尺寸和定位对话框控件
- 使用布局命令
- 对话框控件制表顺序
- 对话框控制助记符
- 语言覆盖
- 对话框控件属性
- 常见对话框属性
- 对话框属性 若要编辑对话框的属性,请在任意控件外部单击对话框。适用于对话框的具体属性是:
- 静态文本属性
- 标记文本属性
- 编辑控件属性
- 按钮属性
- 复选框属性
- 单选按钮属性
- 组合框属性
- 列表框属性
- 列表视图属性
- 标签页控件属性
- 组框属性
- 字符串编辑器
- 片段
- 脚本对话框
- 创建脚本对话框
- 对话消息循环
- 简单对话框
- 分离对话框
- 读取对话框控件值
- 与对话框控件交互
- 资源
- 字符串资源
- 脚本日志
- 示例脚本
- 示例重命名脚本
- 简单脚本函数
- 添加新内部命令
- 添加新列
- 使用 Shell 属性添加新列
- 拓展即时查找领域
- 简单对话框和弹出菜单
- 脚本对话框示例
- 响应事件
- 求值器
- 求值器语法
- 求值器变量
- Applicable Contexts
- 求值器列
- 求值员组
- 过滤器和查找
- 文件信息提示和平铺
- 按钮和功能
- 求值器按钮标签
- 求值器按钮图标
- Tooltips
- Dynamic State
- Conditional Behavior
- 函数中的求值子句
- 求值插入代码
- 求值器生成的命令行
- 重命名
- 重命名控制键
- 状态栏
- 列上下文菜单
- 标签上下文菜单
- Examples
- 参考
- 通配符参考
- 模式匹配语法
- 正则表达式语法
- 状态栏代码
- 文件和文件夹计数代码
- 磁盘空间代码
- 音乐和视频时长代码
- 图形元素代码
- 其它代码
- 条形图和百分比
- 隐藏状态栏中的部分内容
- 状态栏上的填充部分
- 命令参考
- 参数类型
- 内部命令
- CLI
- Clipboard
- Close
- ContextMenu
- Copy
- CreateFolder
- Delete
- Favorites
- FileType
- Find
- GetSizes
- Go
- Help
- Image
- Join
- Marker
- Play
- Prefs
- Properties
- Recent
- Rename
- Select
- Set
- SetAttr
- Show
- Split
- Toolbar
- Undo
- 外部控制代码
- 用于传递文件名代码
- 有关路径的代码
- 对话框显示代码
- 日期和时间的代码
- Codes for clipboard and variables
- 命令修饰符参考
- 脚本参考
- 脚本对象
- 关于 AboutData**
- Activate文件窗口Data
- ActivateTabData
- AddCmdData
- AddColData
- AfterFolderChangeData
- 别名
- 别名
- Args
- AudioCoverArt
- AudioMeta
- BeforeFolderChangeData
- Blob
- BusyIndicator
- ClickData
- CloseListerData
- CloseTabData
- 列
- ColumnValue
- Command
- ConfigChangeData
- 控件
- CustomFieldData
- 日期
- Dialog
- DialogListColumn
- DialogListColumns
- DialogListGroup
- DialogListItem
- DialogOption
- DisplayModeChangeData
- 停靠窗口
- DocMeta
- DOpus
- DOpusFactory
- DoubleClickData
- DPI
- Drive
- ExeMeta
- 收藏**
- 收藏夹
- File
- FileAttr
- FileGroup
- FileOperationCompleteData
- FileSize
- FilesystemChangeData
- FiletypeGroup
- FiletypeGroups
- 过滤器
- FilterParseError
- FlatViewChangeData
- FolderEnum
- FontMeta
- Format
- FSUtil
- Func
- GlobalFilters**
- GetCopyQueueNameData
- GetCustomFieldData
- GetNewNameData
- HighlightedColumns
- 图像
- ImageMeta
- IncludeFileInitData
- Item
- 项
- Lister
- 列出对象
- ListerResizeData
- ListerUIChangeData
- 映射
- 元数据**
- Msg
- Open文件窗口Data
- OpenTabData
- OtherMeta
- PairedFolder
- Path
- 进度
- 快速过滤器
- Rect
- 结果
- 脚本
- ScriptColorPair
- ScriptColumn
- ScriptColumnData
- ScriptCommand
- ScriptCommandData
- ScriptFAYTCommand
- ScriptFAYTCommandData
- ScriptConfig
- ScriptInitData
- ScriptStrings
- ShellProperty
- ShutdownData
- SmartFavorite
- 智能收藏夹
- SortOrder
- SourceDestData
- StartupData
- StringSet
- StringTools
- StyleSelectedData
- SysInfo
- SystemSettingChangeData
- Tab
- TabClickData
- TabGroup
- TabGroups
- TabGroupTabEntry
- TabGroupTabList
- TabStats
- 工具栏
- 工具栏
- UnorderedSet
- Var
- Vars
- Vector
- 版本**
- VideoMeta
- Viewer
- 查看器
- ViewerEventData
- 工具
- WinVer
- 脚本事件
- OnAboutScript
- OnActivateLister
- OnActivateTab
- OnAddColumns
- OnAddCommands
- OnAfterFolderChange
- OnBeforeFolderChange
- OnClick
- OnCloseLister
- OnCloseTab
- OnDisplayModeChange
- OnDoubleClick
- OnFilesystemChange
- OnFileOperationComplete
- OnFlatViewChange
- OnGetCopyQueueName
- OnGetCustomFields
- OnGetNewName
- OnInit
- OnInitIncludeFile
- OnListerResize
- OnListerUIChange
- OnOpenLister
- OnOpenTab
- OnScriptColumn
- OnScriptCommand
- OnScriptConfigChange
- OnScriptFAYTCommand
- OnShutdown
- OnSourceDestChange
- OnStartup
- OnStyleSelected
- OnSystemSettingChange
- OnTabClick
- OnViewerEvent
- 求值器函数
- AbortFunc
- Abs
- Age
- Arg
- As
- Asc
- Atan
- Capitalize
- Cbrt
- Ceil
- Chr
- Cos
- Clip
- ClipFormat
- Count
- DateDiff
- DatePart
- DegToRad
- DisplayName
- Elapsed
- Exists
- FileCount
- FileExt
- FilePart
- Floor
- Format
- Hypot
- InStr
- IsAlpha
- IsChecked
- IsDigit
- IsEnabled
- IsLower
- IsParent
- IsPath
- IsPunct
- IsSelected
- IsSet
- IsSpace
- IsUpper
- KeyDown
- LanguageStr
- LCase
- Left
- Len
- MakeLegal
- Match
- Max
- Mid
- Min
- Now
- Output
- Parent
- PathType
- Pow
- RadToDeg
- RegEx
- RegExS
- Replace
- Resolve
- Reverse
- Right
- Root
- Round
- Running
- Select
- Sin
- Space
- Stem
- StrCmp
- String
- Sqrt
- Swap
- SysInfo
- Tan
- Trim
- Truncate
- TypeOf
- UCase
- URLEncode
- Val
- DOpusRT 参考手册
- 文件集合外部操作
- 检索文件和文件夹信息
- 元数据关键字
- Column 关键字
- SetAttr META 的关键字
- 文本过滤器
- 图标集
- 图标集 XML 定义文件
- 图标大小
- 图标名称
- 图标显示名称
- 图标类别
- DPI aware Icon Sets
- 本地化
- 图标图像
- 重命名宏语言
