我對正則表達式非常陌生,手頭有一個問題,我需要以允許“A”或“G”發(fā)生但不能同時發(fā)生的方式開發(fā)一種模式。我寫了這個模式:r'ACC[A]?[G]?CCG'“A”和“G”是可選的,但我想如果發(fā)生“A”,則停用 [G]?反之亦然,這樣他們就不會相繼出現(xiàn)。解決這個問題的最佳方法是什么?
5 回答

至尊寶的傳說
TA貢獻1789條經(jīng)驗 獲得超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條經(jīng)驗 獲得超4個贊

Helenr
TA貢獻1780條經(jīng)驗 獲得超4個贊
我假設您的意思是您不希望“A”或“G”在一起,而不是“A”或“T”,這意味著您希望您的模式匹配 或 ,ACCACCG
但ACCGCCG
不匹配ACCAGCCG
,這是正確的嗎?
如果是這樣,這種方法應該有效:
re.search(r"ACC[A|G]?CCG", text)

侃侃爾雅
TA貢獻1801條經(jīng)驗 獲得超16個贊
添加回答
舉報
0/150
提交
取消