如何在regex中编码这个标识?

2024-05-16 23:48:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这是出于好奇,因为我得到我的头周围混乱的世界正则表达式

我有这样一个清单:

ID=maker.abc_g1_1G252;
ID=maker.abc_g1_1G252.1;
ID=maker.abc_g1_1G252.1.exon1; 
ID=maker.abc_g1_1G252.1.CDS1;

我想替换“maker.abc\u g1\u 1G252”

如何首先用regex中的模式识别这个字符串?最终,我将用它来替代这个模式

例如

ID=betty;
ID=betty.1;
ID=betty.1.exon1; 
ID=betty.1.CDS1;

例如,我可以使用模式ID=(.*?)[;/]。但这会把我带到另一个地方;。如果我尝试用这个模式替换,我会去掉.1信息


Tags: 字符串信息id地方世界模式regexabc
1条回答
网友
1楼 · 发布于 2024-05-16 23:48:01

你不需要一个regex,一个简单的replace就足够了,即:

string = """ID=maker.abc_g1_1G252;
ID=maker.abc_g1_1G252.1;
ID=maker.abc_g1_1G252.1.exon1; 
ID=maker.abc_g1_1G252.1.CDS1;"""

print string.replace("maker.abc_g1_1G252", "betty")

如果您真的想使用正则表达式,请尝试以下操作:

result = re.sub("maker.*?1G252", "betty", subject, 0, re.IGNORECASE)

Demo

相关问题 更多 >