技术问询:正则表达式匹配指定行整数及HTTP响应头翻译
嘿,我来帮你搞定这两个需求——一是用正则匹配指定行的整数,二是把你给的HTTP响应头翻译成中文,咱们一步步说:
正则表达式(匹配指定行的整数)
要精准匹配指定行的整数,关键是用正则的行锚点锁定目标行,再匹配数字。下面分几种实用场景给你示例:
1. 匹配第N行的所有整数
比如要匹配第3行的所有整数,正则可以这么写:
^(?:.*\r?\n){2}\K\d+
拆解一下逻辑:
^(?:.*\r?\n){2}:匹配前2行的完整内容((?:...)是非捕获组,不会额外存储匹配结果;\r?\n兼容Windows的\r\n和Unix的\n换行符)\K:重置匹配的起始位置,相当于“丢弃”前面匹配的前2行内容,只保留后面要的整数\d+:匹配一个或多个连续数字,也就是整数
如果你的正则引擎支持多行模式(开启m标志),也可以用正向预查来实现:
(?<=^(?:.*\r?\n){2})\d+
不过\K的兼容性更广,推荐优先用这个写法。
2. 匹配指定行的第一个/最后一个整数
如果只需要指定行的第一个整数,上面的正则直接用就行;要是要抓最后一个整数,可以用这个:
^(?:.*\r?\n){2}\K.*(\d+)(?!.*\d)
这里(?!.*\d)是负向断言,确保匹配到的数字后面没有其他数字,也就是该行最后一个整数。
翻译后的HTTP/1.1 200响应头
我把你提供的响应头逐行翻译成中文,保留所有技术术语和格式:
HTTP/1.1 200 X-应用上下文: fss-proxy 日期: 2018年4月3日 星期二 11:38:13 GMT X-内容类型选项: nosniff X-XSS防护: 1; 模式=拦截 缓存控制: 不缓存, 不存储, 最大有效期=0, 必须重新验证 缓存指令: 不缓存 过期时间: 0 X-框架选项: 拒绝 跨域资源共享允许凭据: 是 跨域资源共享允许方法: GET、POST、OPTIONS、PUT、DELETE、PATCH 跨域资源共享允许请求头: Authorization、Content-Type、If-Modified-Since、headers、If-Modified-Since 内容类型: application/json;charset=utf-8(注:原内容截断,补充常见编码格式供参考)
注:原响应头里的「内容类型」字段被截断了,我补充了常见的charset=utf-8,实际要以完整的响应内容为准哦。
内容的提问来源于stack exchange,提问作者Robert Bartosevic
相关产品推荐
相关产品推荐

