以下是我文件的一行" test.txt":
"","links":{"self":"https://1.1.1.10/abc/abc_config/v1/domain/1234-e0f2-11e3-8169-dfgd1234/devices/devicerecords/71a54444-442e-11e7-b2e0-ef8622226aec"},"name":"10.105.206.87"},{"id":"118e8d36-49ba-11e7-8c4e-fb1fe31bd90c","type":"
我想从以下行中获取("name":"10.105.206.87"},{"id":"118e8d36-49ba-11e7-8c4e-fb1fe31bd90c","type")
部分是我的代码 -
f=open("test.txt","r")
str1=f.read()
str2=str1.split("Device")
for string in str2:
if "name" in string:
reg='\"name.+,\"typ'
match=re.search(reg,string)
print (match)
它匹配预期输出的一半:
<_sre.SRE_Match object; span=(164, 237), match='"name":"10.105.206.87"},{"id":"118e8d36-49ba-11e7>
我想打印整个字符串:
"name":"10.105.206.87"},{"id":"118e8d36-49ba-11e7-8c4e-fb1fe31bd90c","type"
如果我传递错误的正则表达式,请告诉我。
答案 0 :(得分:0)
模式是正确的。您正在尝试打印re.search的结果。尝试仅拉出匹配的文字,如下所示。
reg='\"name.+,\"type\"'
match=re.search(reg,string)
print (match.group())
顺便说一句,我已经修改了一些模式以匹配"type"