在取消注解行中使用regex选择最后匹配的url

khbbv19g  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(92)

想捕获deb之后的网址。行不应以#开头。将是最后一场比赛。

#deb http://raspbian.raspberrypi.org/nope/ bullseye main contrib non-free rpi
deb http://raspbian.raspberrypi.org/notthis/ bullseye main contrib non-free rpi
deb http://raspbian.raspberrypi.org/select/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/nana/ bullseye main contrib non-free rpi

最接近的是:(?<=deb\s)(.*?)(?=\s)

qyswt5oh

qyswt5oh1#

你可以用

(?:[\w\W]*\n)?(?!#).*deb\s+(\S+)

参见regex demo

  • 详情 *:
  • (?:[\w\W]*\n)?-一个可选的序列,包含尽可能多的零个或多个字符,然后是一个换行符
  • (?!#)-在换行符后,不能有#
  • .*-除换行符字符以外的任何零个或更多字符,尽可能多
  • deb-文字子字符串
  • \s+-一个或多个空格
  • (\S+)-捕获组1:一个或多个空格。

相关问题