在regex match中打印后续组,文本出现在使用Python找到的模式之后

在regex match中打印后续组,文本出现在使用Python找到的模式之后,python,regex,Python,Regex,目前,我的Python脚本如下所示: import re data = open('toy.json', 'r') for line in data: m = re.search('\"gas\"', line) if m: found = m.group(0) print(found) 我的数据是这样的(它不是有效的JSON,这就是为什么我要用regex解析它): 我的脚本输出以下信息: "gas" "gas" 但事实上,我想要的是与此更

目前,我的Python脚本如下所示:

import re
data = open('toy.json', 'r')

for line in data: 
    m = re.search('\"gas\"', line)
    if m:
        found = m.group(0)
        print(found)
我的数据是这样的(它不是有效的JSON,这就是为什么我要用
regex
解析它):

我的脚本输出以下信息:

"gas"
"gas"
但事实上,我想要的是与此更相似的东西:

...
"hash": "0xf2b5b8fb173e371cbb427625b0339f6023f8b4ec3701b7a5c691fa9cef9daf63",    
"gasUsed": "21000",
"hash": "0xf8f2a397b0f7bb1ff212b6bcc57e4a56ce3e27eb9f5839fef3e193c0252fab26"
"gasUsed": "21000"
...

我试图将其更改为输出后续的
,但没有成功

不能打印找到的
,而只能打印找到它的整个

import re
data = open('toy.json', 'r')

for line in data: 
    m = re.search('\"(gas|hash)\"', line)
    if m:
        found = m.group(0)
        print(line.strip())

我更改了正则表达式,因此它使用了
“(gas | hash)”

这里组2和组3分别包含“hash”和“gasUsed”的值:


组应该由您定义:)

您没有在模式中定义任何组,这就是它不起作用的原因。0始终是完全匹配,在此范围内,您可以通过在模式中使用括号来拥有匹配组。谁来定义组?NIIIICE:-)
import re
data = open('toy.json', 'r')

for line in data: 
    m = re.search('\"(gas|hash)\"', line)
    if m:
        found = m.group(0)
        print(line.strip())