我是个彻头彻尾的Python,所以请原谅我的简单问题。我正在尝试编写一个脚本,它将在一个巨大的字符串中找到匹配ATxxxCA、atxxcca、ATxxxxxCA或ATxxxxxCA的所有序列,其中x可以是任何字符。当ATxxxCA模式匹配时,我希望脚本随后捕获匹配的ATxxxCA周围的前10个和后10个字符。例如,结果可能如下所示:aaaaaaaaaa atxxxcabbbbbbbbbbbbbb
我试着这样开始脚本:
SeqMatch = input("enter DNA sequence to search: ")
for s in re.findall(r'AT(.*?)CA', SeqMatch):
if len(s) is < 10:
print(s)
else:
print('no sequence matches')
我的if循环好像做错了什么?有人能帮忙吗?提前谢谢!在
注意重叠:
结果
^{pr2}$下面是一个例子:
Python不知道“is”的含义(在这里)。在
从你的if检查中去掉“is”
你还说:
如果要捕获前/后加号(?)10个字符,将正则表达式更改为
^{pr2}$你会得到你的10个A结果,然后是AT和CA之间的东西,然后是你的10个B。在
或者你可以通过使用一组对整个事件进行重新设计来获取所有的信息
Regexpal是创建/调试regex的天赐之物。在
相关问题 更多 >
编程相关推荐