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元素):