繁体   English   中英

如何在列表中的python中使用正则表达式匹配数字

[英]How to match numbers using regex in python in list

我有srt格式的字幕我有功能

def clearSubtitles(subtitles):
        for i in subtitles:
             if re.search("^\r$", i) != None :
                  subtitles.remove(i)
             if  re.search("^\d+\r$", i) != None:
                   subtitles.remove(i)  

在列表中,我有subtitles['0\\r','00:59:58,084 --> 00:59:58,888\\r','Come on!\\r']

0\\r的情况下,我需要匹配词组的第一个数字,但^\\d+\\r$匹配我timewindows(00:59:58,084 --> 00:59:58,888\\r) ..有人可以帮我吗?

好的,我想我现在了解您要删除的内容。 尝试这个:

import re

cleared_subtitles = [subtitle for subtitle in subtitles if not re.match(r'\d*\r')]

这将构建一个新列表,其中所有元素均以0或多个数字开头并以\\ r结束。 与re.search不同,re.match要求regexp匹配整个字符串。

因此,您需要用一位数字匹配行吗?

re.search(r"^\d\r", i)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM