如何在Postman请求体中提交RegExpression正则表达式值且不报错

报错原因
- 核心问题是JSON语法与正则语法的转义规则冲突:JSON字符串中
\是官方保留的转义字符,仅支持\"、\\、\n、\t等有限的合法转义序列。你提交的正则中使用的\d是正则专属的数字匹配语法,直接写入JSON字符串时,JSON解析器会将\d判定为非法转义序列,直接触发解析报错。 - 次要可能原因:未正确设置请求头
Content-Type: application/json,导致服务端无法按JSON格式解析请求体。
解决建议
- 方案1:手动转义正则中的反斜杠,将所有单个
\替换为\\,修改后的请求体如下:
{ "Regex": "^(Common)[_]\\d+$|^(MP)[_][0-9a-f]{24}|.*((google)|(Common)|(gmail))+\\.(com)$" }
- 方案2:通过Postman环境变量避免手动转义出错:
- 在请求的「Pre-request Script」标签页添加如下代码:
const regexStr = "^(Common)[_]\\d+$|^(MP)[_][0-9a-f]{24}|.*((google)|(Common)|(gmail))+\\.(com)$"; pm.environment.set("customRegex", regexStr);- 请求体直接引用变量即可:
{ "Regex": "{{customRegex}}" } - 方案3:检查请求头配置,确认已添加
Content-Type: application/json配置项。
内容的提问来源于stack exchange,提问作者Satish Ameda
相关产品推荐
相关产品推荐

