python - 使用正则表达式删除动态时间和名称组合
问题描述
我没有成功尝试使用正则表达式从我正在处理的在线对话中删除时间戳和名称。
我试图删除的模式如下所示:[08:03:16] Name:
它随机分布在整个对话实例中。
模式的Name
部分可以是小写或大写,并且可以包含多个名称,例如Dave
、adam Jons
、Wei-Xing
。
我正在使用以下正则表达式:
[A-Z]([a-z]+|\.)(?:\s+[A-Z]([a-z]+|\.))*(?:\s+[a-z][a-z\-]+){0,2}\s+[A-Z]([a-z]+|\.)
从Find names with Regular Expression开始,但这只会删除上面提供的时间戳示例之外的名称(并且仅适用于时间戳中的某些名称)。
我一直在寻找一段时间来寻找可能对我有帮助的东西,但到目前为止,所有示例都没有任何效果。
解决方案
这看起来比它必须要复杂得多 - 可能更容易匹配时间戳格式,然后匹配字符直到:
找到下一个(假设名称中不能包含:
s):
\[(?:\d{2}:){2}\d{2}\] [^:]+:
推荐阅读
- java - java中sql准备语句的问题
- python - 覆盖 django 管理员身份验证
- git - Git 仍然认为它在旧版本的分支上
- python - python程序没有运行
- r - 在函数中获取带引号的变量并使其裸露
- python - python中的递归没有达到正确的结果
- x86 - 堆栈和堆中的 mov 操作码有什么区别?
- visual-studio - Visual Studio 2017 和 Docker
- python - Python 3.5.2 用apt安装Cherrypy
- angularjs - 如何从 MVC 视图加载 angularjs 并将数据传递给 angularjs 控制器?