如何使用变量与正则表达式验证响应?求JSON内直接实现方法
日志文件名正则匹配解决方案
嘿,当然可以直接在JSON里实现这个验证,完全不用额外定义变量!我来给你说清楚怎么做:
先选对合适的正则表达式
针对你给出的C:\Temp\FileName_20180416_091535.log这种格式的日志文件名,分两种需求给你对应正则:
- 如果只想匹配扩展名前的最后一段数字(也就是示例里的
091535),用这个:(\d+)\.log$ - 如果要匹配日期加时间的完整数字段(示例里的
20180416_091535),用这个:_(\d+_\d+)\.log$
简单说下逻辑:
(\d+)用来精准捕获连续的数字序列\.log$锁定文件名结尾的.log扩展名,避免误匹配文件名中间的数字
在JSON里正确使用的关键
因为JSON字符串里的反斜杠需要转义,所以要把正则转换成JSON兼容的写法:
- 匹配最后一段数字的JSON写法:
"validationRegex": "(\\d+)\\.log$" - 匹配日期时间完整段的JSON写法:
"validationRegex": "_\\(\\d+_\\d+\\)\\.log$"
测试验证效果
拿你的示例文件名C:\Temp\FileName_20180416_091535.log测试:
- 用
(\\d+)\\.log$会精准捕获到091535 - 用
_(\\d+_\\d+)\\.log$会捕获到20180416_091535
这样就能直接在JSON里完成验证,不需要提前定义任何变量啦!
内容的提问来源于stack exchange,提问作者user9132922
相关产品推荐
相关产品推荐

