Python 正则表达式来查找这些值?

Python 正则表达式来查找这些值?,python,regex,Python,Regex,我有这样一句话: a = "switchport port-security mac-address 000a.1111.2222 vlan 43" 我想将mac和vlan编号粘贴到如下列表中: ["000a.1111.2222","43"] 我想下面这样的东西就可以了,有什么想法吗 import re a = "switchport port-security mac-address 000a.1111.2222 vlan 43" b = re.findall("([a-fA-F0-9]{

我有这样一句话:

a = "switchport port-security mac-address 000a.1111.2222 vlan 43"
我想将mac和vlan编号粘贴到如下列表中:

["000a.1111.2222","43"]
我想下面这样的东西就可以了,有什么想法吗

import re
a = "switchport port-security mac-address 000a.1111.2222 vlan 43"
b = re.findall("([a-fA-F0-9]{4}[\.]){2}([a-fA-F0-9]{4})|(\d+)",a)
print b

没有正则表达式,只需使用split

a = "switchport port-security mac-address 000a.1111.2222 vlan 43"

split_list = a.split()
required_info = [split_list[3],split_list[5]]
print required_info
>> ["000a.1111.2222","43"]

没有正则表达式,只需使用split

a = "switchport port-security mac-address 000a.1111.2222 vlan 43"

split_list = a.split()
required_info = [split_list[3],split_list[5]]
print required_info
>> ["000a.1111.2222","43"]

您只需要一个分组:

>>> a = "switchport port-security mac-address 000a.1111.2222 vlan 43"
>>> import re
>>> re.findall(r'mac-address (.*).*vlan (.*)',a)
[('000a.1111.2222 ', '43')]

您只需要一个分组:

>>> a = "switchport port-security mac-address 000a.1111.2222 vlan 43"
>>> import re
>>> re.findall(r'mac-address (.*).*vlan (.*)',a)
[('000a.1111.2222 ', '43')]

这里有一个稍微不同的解决方案,使用
split
,以防您不确定是否可以获取
split
ted字符串索引3和索引5处的元素(在这种情况下,它分别在
的“mac地址”和
的“vlan”
之后获取
split
ted元素):


这里有一个稍微不同的解决方案,使用
split
,以防您不确定是否可以获取
split
ted字符串索引3和索引5处的元素(在这种情况下,它分别在
的“mac地址”和
的“vlan”
之后获取
split
ted元素):