我想从一些示例文本返回一个MAC地址列表。 re.search
返回第一个结果,在这种情况下我想要所有结果,但我只能得到一个结果。当我使用re.findall
时,它将返回每个MAC地址的最后一个字符,而不是完整的地址。re.findall没有返回正确的结果
任何想法?
例如:
>>> test = """
... Mac Address Table
... -------------------------------------------
...
... Vlan Mac Address Type Ports
... ---- ----------- -------- -----
... 66 0800.0e54.9df0 STATIC Gi2/0/27
... 100 5046.5a08.5a60 STATIC Gi2/0/27
... Total Mac Addresses for this criterion: 2
... """
macs = re.search(r"([0-9A-Fa-f]){4}\.([0-9A-Fa-f]){4}\.([0-9A-Fa-f]){4}",test)
>>> print macs.group()
0800.0f54.99f0
macs = re.findall(r"([0-9A-Fa-f]){4}\.([0-9A-Fa-f]){4}\.([0-9A-Fa-f]){4}",test)
[('0', '4', '0'), ('6', '8', '0')]
删除所有捕获组。 'macs = re.findall(r“[0-9A-Fa-f] {4} \。[0-9A-Fa-f] {4} \。[0-9A-Fa-f] {4}” ,测试)' –
谢谢!你想补充说,所以我可以接受? – AlexW