【发布时间】:2018-12-03 02:27:40
【问题描述】:
我正在尝试使用 \w{2}\d/\d{1,2}(/\d{1,2})? 来匹配以下两个接口在 Cisco 交换机上:
Gi1/0/1
Fa0/1
-
当我使用 re.search() 时,它会返回所需的输出。
import re port = "Gi1/0/1 Fa0/1" search = re.search(r'\w{2}\d/\d{1,2}(/\d{1,2})?', port) print search.group()
我得到 "Gi1/0/1" 作为输出。
-
当我使用 re.findall()
import re port = "Gi1/0/1 Fa0/1" search = re.findall(r'\w{2}\d/\d{1,2}(/\d{1,2})?', port) print search
我得到了不想要的 "['/1', '']"。
为什么 findall() 不返回 ['Gi1/0/1','Fa0/1']?
是不是因为我使用了 (/\d{1,2})?,而 findall() 应该返回这部分?这是为什么?
我们如何使用 findall() 获得 ['Gi1/0/1','Fa0/1']?
【问题讨论】:
标签: python regex python-2.7 search findall