我有一个字符串如下
"Server: myserver.mysite.com\r\nAddress: 111.122.133.144\r\n\r\nName: myserver.mysite.com\r\nAddress: 123.144.412.111\r\nAliases: alias1.myserver.mysite.com\r\n\t myserver.mysite.com\r\n\r\n"
我目前正在努力用python编写一个函数,该函数将查找所有别名并将它们放在一个列表中。所以基本上,我需要一个列表,它将是['alias1.myserver.mysite.com', 'myserver.mysite.com']
我尝试了以下代码
pattern = '(?<=Aliases: )([\S*]+)'
name = re.findall(pattern, mystring)
但它只匹配第一个别名,而不是两个别名
有什么想法吗
非常感谢
试试这个:
请尝试以下操作:
印刷品:
解释
首先,我们将字符串分成两部分,并用
s.split('Aliases: ')[1]
保留第二部分。这将计算为“别名:”后面的字符串部分接下来,我们将
findall
与正则表达式一起使用:这将匹配一个或多个非空格字符的所有连续字符串
但在这种情况下,这可以更简单地完成,而无需使用正则表达式:
相关问题 更多 >
编程相关推荐