需配置sharex自定义正则表达式解析响应:先启用响应解析并选正则模式;再按url、json字段、多行响应等场景编写对应正则式,设置匹配组;最后用备用规则提升鲁棒性。

如果您在使用ShareX进行文件上传后,希望从服务器返回的响应内容中提取特定信息(例如URL、删除链接或ID),则需要配置自定义正则表达式解析规则。以下是实现此目标的具体方法:
一、启用自定义响应解析器
ShareX默认不自动解析上传响应,必须手动开启并配置JSON或正则表达式解析器。该步骤确保ShareX将原始响应文本交由正则引擎处理,而非仅依赖预设格式。
1、打开ShareX主界面,点击“任务设置”按钮(齿轮图标)。
2、在左侧菜单中选择“上传”,再点击子项“响应解析”。
3、勾选“启用响应解析”复选框。
4、在“解析方法”下拉菜单中选择“正则表达式”。
二、编写匹配URL的正则表达式
该方法适用于服务器返回纯文本或HTML响应,且目标URL以固定前缀开头(如https://example.com/i/)。正则表达式将捕获第一个符合模式的完整URL。
1、在“正则表达式”输入框中粘贴:https?://[^\s"]+。
2、在“匹配组”输入框中填写:0(表示使用整个匹配结果)。
3、点击右侧“测试”按钮,粘贴一段含URL的模拟响应文本验证是否成功高亮。
三、提取JSON格式响应中的字段
当服务器返回标准JSON(如{"image":{"url":"https://...","delete":"https://..."}}),可绕过JSON解析器,直接用正则定位键值对。此法在ShareX未正确识别JSON结构时尤为有效。
1、在“正则表达式”输入框中粘贴:"url"\s*:\s*"([^"]+)"。
2、在“匹配组”输入框中填写:1(表示捕获第一个括号内的内容)。
3、若需同时提取删除链接,在同一配置下更换表达式为:"delete"\s*:\s*"([^"]+)",并保持匹配组为1。
四、处理多行响应与换行敏感匹配
部分API返回的响应包含换行符和缩进,普通点号(.)无法跨行匹配。启用单行模式(s标志)可使点号匹配包括换行符在内的所有字符,确保完整捕获。
1、在“正则表达式”输入框中输入:(?s)"result":\s*{[^}]*"url"\s*:\s*"([^"]+)"。
2、确认“匹配组”仍为:1。
3、注意:ShareX正则引擎基于.NET,(?s)为合法内联标志,无需额外设置选项。
五、调试与错误规避策略
正则表达式失败常因响应格式波动导致。设置备用匹配规则可提升鲁棒性,ShareX支持在同一解析器中按顺序尝试多个正则式。
1、在“正则表达式”输入框中输入两条表达式,用竖线分隔:"url"\s*:\s*"([^"]+)"|"link"\s*:\s*"([^"]+)"。
2、在“匹配组”输入框中填写:1,2(表示优先取第1组,为空则取第2组)。
3、保存设置后,上传一个文件并查看“历史记录”窗口中的“响应”与“解析结果”字段是否一致。











