python re模块匹配多次取值?

Name Server: ns3.baidu.com
Name Server: ns2.baidu.com
Name Server: dns.baidu.com
Name Server: ns7.baidu.com
Name Server: ns4.baidu.com

在使用re模块的时候
re.search('Name Server:(.*)', info).group() 只能匹配一次,怎么可以有多少取多少?

可以用re模块实现下面的返回结果吗?
{'Name Server':[ns3.baidu.com,ns2.baidu.com,dns.baidu.com,ns7.baidu.com,ns4.baidu.com]}

阅读 4.4k
1 个回答

你是说这样?

import re

data = '''
Name Server: ns3.baidu.com
Name Server: ns2.baidu.com
Name Server: dns.baidu.com
Name Server: ns7.baidu.com
Name Server: ns4.baidu.com
'''

pattern = re.compile('Name Server: (.*)')

result = pattern.findall(data)

print(result)

结果:['ns3.baidu.com', 'ns2.baidu.com', 'dns.baidu.com', 'ns7.baidu.com', 'ns4.baidu.com']

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题