如何替换与正则表达式匹配的前 10 个元素以外的所有元素?

How to replace all except first 10 elements matched with regex?

我使用以下代码从给定文本中删除所有文本元素,例如 <00:10:12>

f_lrc = open(file_, 'r')
lyrics = f_lrc.read()
lyrics = re.sub(ur'<\d{1,2}:\d{2}\.\d{1,2}>', '', lyrics)

有什么方法可以将这些元素保留在文本文件的前 10 行中?或者,只保持前 10 个元素匹配?

您可以切片您的文件,但您需要使用 readlines():

lines =f_lrc.readlines()
lyrics = lines[10:]
first_part = lines[:10]
yrics = re.sub(ur'<\d{1,2}:\d{2}\.\d{1,2}>', '', '\n'.join(lyrics))
last = '\n'.join(first_part) + yrics 

如果您在按 \n 拆分并应用您的正则表达式之前已经阅读了您的行:

f=f_lrc.split('\n')
lyrics = f[10:]
first_part = f[:10]
yrics = re.sub(ur'<\d{1,2}:\d{2}\.\d{1,2}>', '', '\n'.join(lyrics))
last = '\n'.join(first_part) + yrics