如何在python中使用正则表达式将单词添加到下一行?

如何在python中使用正则表达式将单词添加到下一行?,python,expression,Python,Expression,我需要一个python正则表达式,在包含“line:10.00%”的行下面的每一行的开头添加{\an8},谢谢。考虑到字符串中的输入- s = "00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%" find = 'line:10.00%' s1 = r"{\an8}" if find in s: s = s1+" "+s print(s)

我需要一个python正则表达式,在包含“line:10.00%”的行下面的每一行的开头添加{\an8},谢谢。

考虑到字符串中的输入-

s =  "00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%"

find = 'line:10.00%'
s1 = r"{\an8}"
if find in s:
    s = s1+" "+s
    print(s)

Out: {\an8} 00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%

这一行循环检查当前行的状态,即如果它包含要检查的短语,则设置一个标志(如果是),并更新下一行:

s = '''00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00% 

Gonna let you down'''

flag, lines = 0, s.split('\n')

for x, line in enumerate(lines):
    if flag and line:
        lines[x] = '{\\an8}' + line
        flag = 0
    if 'line:10.00%' in line:
        flag = 1

print('\n'.join(lines))

# 00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%
# 
# {\an8}Gonna let you down

试试这个,让我知道它是否有效

import re
re.sub('line[^\n]*(\n*)([\w\W])', r'\1an8\2', your_string)

line:10.00%
可以在一行中的任何位置或仅在末尾出现吗?该文件的源是一个WEBvtt格式的字幕文件。
re.sub('line[^\n]*(\n*)([\w\w]),r'\1an8\2',您的字符串)
好的,这是前面字符串中“line”一词的通用名称。