regex - 如何在正则表达式中提取以特定字符串开头的双引号字段
问题描述
我想从以下 json 文件中提取名称内容 (David) 和 url 内容 (www.stackoverflow.com)。
我有几个问题:
如何提取以 " 开头并以 " 结尾的字符串?
强制正则表达式以不属于匹配正则表达式的表达式开头。
{
"id" : "1234",
"name" : "David",
"request" : {
"url" : "www.stackoverflow.com",
"method" : "POST",
"bodyPatterns" : [ {
"matchesXPath" : "example"
}, {
"matchesXPath" : "example/123"
}, {
"matchesXPath" : {
"expression" : "example/123/123/text()",
"equalTo" : "bbbb"
}
} ]
}
}
解决方案
注意:从长远来看,最推荐的方法是使用适当的解析器。对于一个简单的、偶尔的情况,正则表达式可能适合。
这个正则表达式完成了这项工作:
"name"\s*:\s*"(?'name'[^"]+)".*"url"\s*:\s*"(?'url'[^"]+)"
在这里测试。分组name
并url
包含您的数据。
推荐阅读
- python - Python:如何在字符串列表的 For 循环中增加元素?
- angular - Ionic5 prod 构建错误 - 未知组件
- sql - 如何获取仅分配给一个值而没有其他值的唯一ID的计数?
- html - GSC depsite 模式中不可解析的结构化数据错误在结构化数据测试工具上签出
- arrays - 如何在kotlin简单的for每个循环中存储值
- json - 从 Solr 导出索引数据
- python - 绘制公司的增长率
- reactjs - 如何使用钩子将数据从一个组件传递到另一个组件
- python - pygame 函数 pygame.rect.fit() 是如何工作的?
- laravel-8 - 在 laravel 8 中急切加载(如何在刀片中使用)