我对正则表达式不是很熟悉,并希望有人把它放到我能理解的东西中?如上所述,概述正则表达式的每个部分正在做什么
re.compile(r'ATG((?:[ACTG]{3})+?)(?:TAG|TAA|TGA)')
到目前为止,这是我提出的:
re.compile
是一种正则表达式方法......或类似的东西
r'
在那之后,我不太确定......
在字符串ATG
?:[ACTG]{3}
在字符串中搜索包含字符A
C
T
G
的字符串片段(这些顺序是否重要?)这是{3}
三个字符长。
+?
关于至少进行一次但最短时间的事情......?什么部分代码将至少一次,但最少的时间?
?:
在字符串中搜索TAG|TAA|TGA
。一旦发现这些,会发生什么?
我能做点什么吗?
key_words = "TAG TAA TGA".replace(" ", "|")
如果我有100多个子字符串,那么我可以拥有一长串列表,而不必多次键入|
?
然后我会将其格式化为这样的:
...(?:key_words)')
示例和简单的解释总能创造奇迹 - 谢谢!