Safari原生不支持正则表达式搜索,但可通过四种方法实现:一、用开发者工具控制台执行JS正则匹配;二、安装支持RegExp的Safari扩展;三、导出HTML源码用终端grep等工具处理;四、启用技术预览版中的实验性查找选项。

如果您在使用Safari浏览器进行页内搜索时,发现无法启用正则表达式匹配或无法执行高级文本查找操作,则可能是由于Safari原生不支持正则表达式搜索功能,且其内置查找框仅提供基础字符串匹配。以下是实现类似正则表达式搜索效果及提升文本查找精度的多种方法:
一、使用开发者工具控制台执行正则匹配
通过Safari的Web检查器控制台,可手动运行JavaScript正则表达式,定位页面中符合模式的文本节点。该方式绕过UI限制,直接作用于DOM内容。
1、按下 Command + Option + I 打开Safari开发者工具。
2、切换至 “控制台” 标签页。
3、输入以下代码并回车(以查找所有邮箱地址为例):
Array.from(document.body.querySelectorAll("*")).flatMap(el => el.textContent.matchAll(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g)).map(m => m[0])
4、结果将以数组形式输出,包含所有匹配的文本片段。
二、安装支持正则搜索的Safari扩展
Safari 14及以上版本支持App Extensions机制,部分第三方扩展可在网页中注入增强型查找功能,包括正则表达式支持。
1、打开 “Safari” → “偏好设置” → “扩展”,点击右下角“更多扩展…”跳转至Mac App Store。
2、搜索关键词 “regex find” 或 “advanced search safari”。
3、选择评分较高且明确标注支持 “RegExp” 或 “PCRE-style patterns” 的扩展(如“Find+ Replace for Safari”)。
4、安装后重启Safari,在任意网页按 Command + Shift + F 调出扩展查找面板,勾选 “使用正则表达式” 选项。
三、借助外部文本提取工具配合正则引擎
当需对当前网页全文进行复杂模式检索时,可将HTML源码导出至本地,利用系统级正则工具完成分析,避免浏览器功能限制。
1、在网页任意位置右键,选择 “显示页面源文件”(或按 Command + U)。
2、全选源码(Command + A),复制(Command + C)。
3、打开终端,执行:
pbpaste | grep -Eo "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}"
4、如需高亮显示匹配项,可改用 ack 或 ripgrep 工具,并添加 --color=always 参数。
四、启用Safari实验性功能中的文本查找增强选项
Safari技术预览版及部分Beta版本内置未公开的查找功能开关,可通过调试菜单激活更精细的匹配行为,例如区分大小写、全字匹配等,为正则逻辑提供替代路径。
1、启动Safari技术预览版(需从 developer.apple.com/safari/technology-preview/ 下载安装)。
2、在地址栏输入 about:config 并回车。
3、搜索关键词 FindInPage,找到 com.apple.Safari.FindInPage.EnableCaseSensitiveSearch 并设为 true。
4、重启浏览器后,在查找框中输入文本,再按 Command + G 循环查找时,将严格遵循大小写与空格边界。











