regex - 用正则表达式替换进行它的单词
问题描述
我有两个这样的字符串:
word=list()
word.append('The.Eternal.Evil.of.Asia.1995.DVDRip.x264.AC3')
word.append('Guzoo.1986.VHSDVDRiP.x264.AC3.HS.ES-SHAG')
我想删除从 VHSDVDRIP 和 DVDRIP 开始的单词。所以从 The.Eternal.Evil.of.Asia.1995.DVDRip.x264.AC3 到 The.Eternal.Evil.of.Asia.1995。和 Guzoo.1986.VHSDVDRiP.x264.AC3.HS.ES-SHAG 到 Guzoo.1986。
我尝试了以下方法,但它不起作用:
re.findall(r"\b\." + 'DVDRIP' + r"\b\.", word)
解决方案
如果你想用一个空字符串替换我猜的那些实例,也许这个带有i
标志的表达式可能有效:
import re
regex = r"(?i)(.*)(?:\w+)?dvdrip\W(.*)"
test_str = """
The.Eternal.Evil.of.Asia.1995.DVDRip.x264.AC3
Guzoo.1986.VHSDVDRiP.x264.AC3.HS.ES-SHAG
"""
subst = "\\1\\2"
print(re.sub(regex, subst, test_str))
输出
The.Eternal.Evil.of.Asia.1995.x264.AC3
Guzoo.1986.VHSx264.AC3.HS.ES-SHAG
该表达式在regex101.com的右上角面板上进行了说明,如果您希望探索/简化/修改它,并且在此链接中,您可以查看它如何与一些示例输入匹配,如果您愿意的话。
推荐阅读
- c# - 如何使用 BackGroundWorker 刷新 DataGridView
- sql - 使用子字符串更新 proc sql 时出错
- flutter - 无法在标准 ListView 小部件上滚动;总是过度渲染 150px
- python - tkinter打开窗口时Python按钮自动触发
- r - 从第一行计算数据框的百分比变化
- ios - 更改 UITableViewCell 中的默认删除图标
- python-3.x - 每次我运行代码时,都会出现一个错误,“TypeError: raw_input() 需要 1 到 2 个位置参数,但给出了 4 个”
- c# - 从 UWP 打开带有 HTML 正文的 Outlook 邮件撰写窗口
- symfony - 如何使用@Assert\Type("float")?
- ruby-on-rails - 未初始化的常量 Stripe::Price