需要搜索正则表达式模式和python函数

需要搜索正则表达式模式和python函数,python,regex,Python,Regex,我有以下陈述的文件 start < some 50 words > End //need to work only on these types start < some 50 words > start < some 50 words > End start < some 50 words > < some 50 words > End startEnd//只需处理这些类型 开始 开始结束 开始 结束 …此模式

我有以下陈述的文件

start < some 50 words > End          //need to work only on these types
start < some 50 words >
start < some 50 words > End
start < some 50 words > 
< some 50 words > End
startEnd//只需处理这些类型
开始<大约50个单词>
开始<50字左右>结束
开始<大约50个单词>
<50字左右>结束
…此模式重复10000次。 我想将开头有“开始”和结尾有“结束”的行替换为

start2 <same 50 words > End2.
start2end2。
我需要在两者之间保留相同的单词,只需修改开头和结尾。

import re
import re

data = """start < some 50 words > End
start < some 50 words >
start < some 50 words > End
start < some 50 words >
< some 50 words > End
"""

print re.sub('start(.*)End', 'start2\g<1>End.', data)
data=“”开始<大约50个单词>结束 开始<大约50个单词> 开始<50字左右>结束 开始<大约50个单词> <50字左右>结束 """ 打印re.sub('start(.*)End','start2\gEnd',data)
印刷品:

start2 < some 50 words > End.
start < some 50 words >
start2 < some 50 words > End.
start < some 50 words >
< some 50 words > End
start2<50字左右>结束。
开始<大约50个单词>
开始<大约50个单词>结束。
开始<大约50个单词>
<50字左右>结束

正则表达式的工作量远远超过了解决此问题所需的工作量——使用普通的旧字符串方法可以更简单地完成这一切:

def ReplaceStartEnd(s):
...    if s.startswith("start") and s.endswith("End"):
...       return "start2" + s[5:-3] + "End2"
...    else:
...       return s

这个\g对我来说是新的。你能告诉我关于这是什么的详细信息吗?谢谢你的回答。这只是一种引用已保存组的方式,在本例中是指向
(*)