我对正则表达式非常陌生,手头有一个问题,我需要以允许“A”或“G”发生但不能同时发生的方式开发一种模式。我写了这个模式:r'ACC[A]?[G]?CCG'“A”和“G”是可选的,但我想如果发生“A”,则停用 [G]?反之亦然,这样他们就不会相继出现。解决这个问题的最佳方法是什么?
5 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
这?
if "A" in myString:
myString.replace("G", "")
或这个?
A = False
G = False
for each in myString:
if each == "A":
if not A:
temp += each
A = True
elif each == "G":
if not G:
temp += each
G = True
else:
temp += each
myString = temp
慕的地8271018
TA贡献1796条经验 获得超4个赞
Helenr
TA贡献1780条经验 获得超3个赞
我假设您的意思是您不希望“A”或“G”在一起,而不是“A”或“T”,这意味着您希望您的模式匹配 或 ,ACCACCG
但ACCGCCG
不匹配ACCAGCCG
,这是正确的吗?
如果是这样,这种方法应该有效:
re.search(r"ACC[A|G]?CCG", text)
侃侃尔雅
TA贡献1801条经验 获得超15个赞
添加回答
举报
0/150
提交
取消