python - 在特定字符串之后匹配重复模式
问题描述
我试图匹配一个重复的模式(IP 编号),但只有在特定字符串出现之后。我可以首先通过拆分并在第二部分运行正则表达式来做到这一点,但我想知道我是否可以使用单个正则表达式来做到这一点。例子是
import re
s4 = """
ddddddhhhhhhf jjjjjj 111.222.33.444 dddddd ddddddddddd
ccccccccccc
xxxxxxxxxx xxxxxxxxxj kkkkkk kkkkkk xxxxx111.222.888.444yyyy
xxxxxxxxxx xxxxxxxxxj kkkkkk kkkkkk xxxxx111.555.888.444yyyy
dddddd jjjjjjj 333.222.33.444 111.222.33.444 jjjjjjjjjjjj
"""
我想匹配 ccccc 之后的所有 ip 号码。如果我做
regex = "cccccc.*?(\d+\.\d+\.\d+\.\d+)+"
res = re.findall(regex, s4, re.DOTALL)
我只得到 111.222.888.444。如果我用
regex = "(\d+\.\d+\.\d+\.\d+)+"
我会得到所有我不需要的 ip 号码。使这项工作需要哪种正则表达式语法?
谢谢,
解决方案
推荐阅读
- date - 在 awk 中使用 date 命令的问题
- selenium - 从渲染器接收消息超时:0.100 条使用 ChromeDriver 和 Chrome v80 通过 Selenium Java 的日志消息
- java - NotifyService.Java 类根本没有被调用
- php - Wordpress PHP 警告:非法字符串偏移 'plugin_name'
- scala - 播放 JSON 库和 sbt 程序集合并错误
- javascript - Object.assign 替代 getter/setter
- rest - RESTful API 和统计页面
- powershell - 如何在powershell脚本中添加凭据,这样当我运行脚本时它不会要求输入密码,我不希望在脚本中看到密码
- angular - 如何使用xlsx Angular 8在下载的excel中显示选定的列
- unit-testing - react-navigation-hooks:如何测试 useFocusEffect