Ruby:从字符串中删除与JSON模式不匹配的内容

问题描述 投票:1回答:1

我目前正在尝试从字符串中删除不是正则表达式模式的内容。我有一个字符串,并且我试图从中解析出JSON。这是一个例子。https://rubular.com/r/FLz2kuUAX9Fopc

我想从字符串中删除与以下内容不匹配的所有内容正则表达式模式JSON_FORMAT = /\{.*\:\{.*\:.*\}\}/。我尝试使用text.gsub(JSON_FORMAT, ''),但是最终删除了匹配项。这与我正在寻找的是相反的。

regex ruby
1个回答
0
投票

假定字符串对象是您在规则链接中粘贴为输入文本的对象

str = # the string in your rubular example

regex = /\{.*\}/
json_objects = str.scan(regex).map{|j| JSON.parse(j.gsub(/\\/,''))}
© www.soinside.com 2019 - 2024. All rights reserved.