正则表达式提取问题:匹配后期望获取"Get",但结果仅为Group1内容
正则提取目标内容的优化方案
- 问题所在:你当前使用的正则
("Method":)(?s)(.*$),会将"Method":作为第1捕获组,后续所有内容(含空格)作为第2组,无法精准提取你要的"Get"。 - 调整后的正则方案:
- 若需捕获带引号的
"Get",使用:"Method":\s*(".*?")- 关键细节:
\s*匹配:后的任意空白字符,兼容不同格式的空格(".*?")采用非贪婪匹配,精准捕获被"包裹的目标内容,该内容会作为第1捕获组返回
- 关键细节:
- 若需捕获不带引号的
Get,使用:"Method":\s*"([^"]*)"- 关键细节:
[^"]*匹配双引号内的所有非引号字符,直接得到纯文本目标
- 关键细节:
- 若需捕获带引号的
- 匹配结果验证:
- 待匹配字符串:
I'm a calling a "Method": "Get" - 使用第一个调整后的正则,捕获组结果为
"Get",完全符合你的期望
- 待匹配字符串:
内容的提问来源于stack exchange,提问作者Devopsfreak
相关产品推荐
相关产品推荐

