首页 > 解决方案 > 如何在正则表达式中提取以特定字符串开头的双引号字段

问题描述

我想从以下 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"
    }
    } ]
   }
}

标签: regex

解决方案


注意:从长远来看,最推荐的方法是使用适当的解析器。对于一个简单的、偶尔的情况,正则表达式可能适合。


这个正则表达式完成了这项工作:

"name"\s*:\s*"(?'name'[^"]+)".*"url"\s*:\s*"(?'url'[^"]+)"

在这里测试。分组nameurl包含您的数据。


推荐阅读