Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python re.findall组织列表_Python_Python 3.x_Regex - Fatal编程技术网

Python re.findall组织列表

Python re.findall组织列表,python,python-3.x,regex,Python,Python 3.x,Regex,我有一个文本文件,其中的条目如下: 西班牙 2345364564 正常的 萨拉戈萨 8743249725 0 马拉加 8743249725 0 7. 英国 2345364564 正常的 伦敦 8743249725 0 利物浦 8743249725 0 7. 正则表达式不适合解析xml。更好地使用xml解析器。。 如果你想要正则表达式解决方案,那么希望下面的代码能帮助你 import re s = """\n<soap:Envelope xmlns:soap="http://www.w

我有一个文本文件,其中的条目如下:


西班牙
2345364564
正常的
萨拉戈萨
8743249725
0
马拉加
8743249725
0
7.
英国
2345364564
正常的
伦敦
8743249725
0
利物浦
8743249725
0
7.

正则表达式不适合解析xml。更好地使用xml解析器。。 如果你想要正则表达式解决方案,那么希望下面的代码能帮助你

import re

s = """\n<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">\n   <soap:Body>\n      <Applications_GetResponse xmlns="http://www.country.com">\n         <Applications>\n            <CS_Application>\n               <Name>Spain</Name>\n               <Key>2345364564</Key>\n               <Status>NORMAL</Status>\n               <Modules>\n                  <CS_Module>\n                     <Name>zaragoza</Name>\n                     <Key>8743249725</Key>\n                     <DevelopmentEffort>0</DevelopmentEffort>\n                     <LogicalDBConnections/>\n                  </CS_Module>\n                  <CS_Module>\n                     <Name>malaga</Name>\n                     <Key>8743249725</Key>\n                     <DevelopmentEffort>0</DevelopmentEffort>\n                     <LogicalDBConnections/>\n                  </CS_Module>\n               </Modules>\n               <CreatedBy>7</CreatedBy>\n            </CS_Application>\n            <CS_Application>\n               <Name>UK</Name>\n               <Key>2345364564</Key>\n               <Status>NORMAL</Status>\n               <Modules>\n                  <CS_Module>\n                     <Name>london</Name>\n                     <Key>8743249725</Key>\n                     <DevelopmentEffort>0</DevelopmentEffort>\n                     <LogicalDBConnections/>\n                  </CS_Module>\n                  <CS_Module>\n                     <Name>liverpool</Name>\n                     <Key>8743249725</Key>\n                     <DevelopmentEffort>0</DevelopmentEffort>\n                     <LogicalDBConnections/>\n                  </CS_Module>\n               </Modules>\n               <CreatedBy>7</CreatedBy>\n            </CS_Application>\n        </Applications>\n      </Applications_GetResponse>\n   </soap:Body>\n</soap:Envelope>\n"""
pattern1 = re.compile(r'<CS_Application>([\s\S]*?)</CS_Application>')
pattern2 = re.compile(r'<Name>(.*)?</Name>')

for m in re.finditer(pattern1, s):
    ss = m.group(1)
    res = []
    for mm in re.finditer(pattern2, ss):
        res.append(mm.group(1))
    print("The Country: "+res[0]+" - Cities: "+",".join(res[1:len(res)]))
重新导入
s=“”"\n\n\n\n\n\n西班牙\n 2345364564\n正常\n\n\n萨拉戈萨\n 8743249725\n 0\n\n\n\n马拉加\n8743249725\n 0\n\n\n 7\n\n\n\n英国\n 2345364564\n正常\n\n\n伦敦\n 8743249725\n 0\n\n\n\n利物浦\n 8743249725\n 0\n\n\n\n 7\n\n\n\n\n\n\n”“”
pattern1=re.compile(r'([\s\s]*?)')
pattern2=re.compile(r'(.*))
对于m in re.finditer(模式1,s):
ss=m组(1)
res=[]
对于mm in re.finditer(图案2,不锈钢):
res.append(mm.group(1))
打印(“国家:“+res[0]+”-城市:“+”,”。加入(res[1:len(res)])

@GolamMazid Sajib可以帮助我实现预期回报:

HERE
Country: Spain
City Spain:Zaragoza
City Spain:Malaga

Country: UK
City UK:london
City UK:liverpool

不要为此使用regexp。请使用类似BeautifulSoup的XML解析器。感谢朋友的帮助..我将测试它并让您知道。您可以帮助我获得预期的回报,我在下面的问题中是如何做到的!