Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使Python正则表达式看起来更贪婪_Python 3.x_Regex - Fatal编程技术网

Python 3.x 如何使Python正则表达式看起来更贪婪

Python 3.x 如何使Python正则表达式看起来更贪婪,python-3.x,regex,Python 3.x,Regex,我试图使用正向查找标记捕获“路由器bgp”和最后一个“出口地址族”之间的所有行,但匹配只会捕获到第一个“出口地址族”。如何使查找标记贪婪地捕获到最后一个实例 import re config =''' router bgp 400 bgp log-neighbor-changes neighbor 10:1::19 remote-as 12000 neighbor 10.1.0.2 remote-as 400 ! address-family ipv4 network 2.0.

我试图使用正向查找标记捕获“路由器bgp”和最后一个“出口地址族”之间的所有行,但匹配只会捕获到第一个“出口地址族”。如何使查找标记贪婪地捕获到最后一个实例

import re

config ='''
router bgp 400 
 bgp log-neighbor-changes
 neighbor 10:1::19 remote-as 12000
 neighbor 10.1.0.2 remote-as 400
 !
 address-family ipv4
  network 2.0.1.0 mask 255.255.255.0
  neighbor 10.1.0.38 activate
 exit-address-family
 !
 address-family ipv6
  neighbor 10:1::19 activate
 exit-address-family
!
stuff i don't want
more stuff i don't want
'''
rx_bgp_config =  re.findall(r'router\s+bgp\s+(\S+)(.*?)(?<=exit-address-family)', config, re.S|re.M)

bgp_config = rx_bgp_config[0]

print(bgp_config)
重新导入
配置=“”
路由器bgp 400
日志邻居更改
邻居10:1::19远程as 12000
邻居10.1.0.2远程as 400
!
地址族ipv4
网络2.0.1.0掩码255.255.255.0
邻居10.1.0.38激活
出口地址族
!
地址族ipv6
邻居10:1::19激活
出口地址族
!
我不想要的东西
更多我不想要的东西
'''
rx_bgp_config=re.findall(r'router\s+bgp\s+(\s+)(*?)检查此链接:

非贪婪量词尽可能少地匹配元素 可能。你可以通过以下方法将贪婪的量词变成懒惰的量词 只需添加一个

在您的情况下,您应该删除
,使其一直搜索到最后一个匹配案例。 改变你的模式


router\s+bgp\s+(\s+)(*?)删除