在python中使用正则表达式将单词添加到下一行的方法是什么?
我需要一个python正则表达式,在每一行的开头添加{\an8},该行包含两个单词“position:50.00%”和“line:10.00%”,格式如下,谢谢在python中使用正则表达式将单词添加到下一行的方法是什么?,python,regex,Python,Regex,我需要一个python正则表达式,在每一行的开头添加{\an8},该行包含两个单词“position:50.00%”和“line:10.00%”,格式如下,谢谢 file_content = re.sub(r'line:10.00%[^\n]*(\n*)([\w\W .,:%])', r'\1{\\an8}\2', file_content) 像这个例子: 00:05:31.957 --> 00:05:34.835 position:50.00%,start align:start si
file_content = re.sub(r'line:10.00%[^\n]*(\n*)([\w\W .,:%])', r'\1{\\an8}\2', file_content)
像这个例子:
00:05:31.957 --> 00:05:34.835 position:50.00%,start align:start size:25.24% line:10.00%
{\an8}Not yet.
00:05:31.957-->00:05:34.835位置:50.00%,开始对齐:开始大小:25.24%直线:10.00%
{\an8}还没有。
您可以使用以下模式:
(.*\bposition\b:50\.00%.*\bline\b:10\.00%)\s*(.*)
替换为:
\1\n{\\an8}\2
正则表达式演示
在Python中:
import re
mystring = '''00:05:31.957 --> 00:05:34.835 position:50.00%,start align:start size:25.24% line:10.00%
Not yet.'''
print(re.sub(r'(.*\bposition\b:50\.00%.*\bline\b:10\.00%)\s*(.*)',r'\1\n{\\an8}\2',mystring))
印刷品:
00:05:31.957 --> 00:05:34.835 position:50.00%,start align:start size:25.24% line:10.00%
{\an8}Not yet.
不需要正则表达式
previous_line_matched = False
for line in input:
if previous_line_matched:
print '{\\an8}' + line
else:
print line
if 'position:50.00%' in line and 'line:10.00%' in line:
previous_line_matched = True
else:
previous_line_matched = False
您可以将最后四行替换为
前一行\u matched='position:50.00%'和行中的'line:10.00%'。如果你真的想做的更好,你可以用print('{\\an8}'*previous\u line\u matched+line)
替换上面的行。