我有一个头文件(用“>;”表示)然后是下一行的文本。我需要捕获标题中包含相同数字的组。在下面的示例文本中,我想将前四行(两个标题都包含“4471”)打印到一个文件中,将最后四行(标题包含“4527”)打印到另一个文件中
>VUSY-4471
AAAGTAATTCAGGATGAAGAGAGACTGCT
>XFJG-4471
AATGTTATTCAAGATGAAGATAGGTTGCTGGCTGCA
>Ambtr-4527
GAGGAGCGGGTGATTGCCTTGGTCGTTGGTGGTGG
>Arath-4527
GAAGAGAGAGTGAATGTTCTTGTA
下面的regex在文本编辑器中测试时成功地捕获了文本组(参见屏幕截图),但我似乎无法在python脚本中使用它。任何帮助都将不胜感激
>.+?-(\d+)[\S\s]+>.+-\1\n.+
捕获文本示例
如果你分解了你要做的事情,你也许可以节省一些时间来弄清楚如何用正则表达式解决整个问题:读两行,根据第一行中的数字决定它需要转到哪个文件,然后转到下一对,直到整个文件被解析。这样,您只需要一个非常简单的正则表达式就可以从第一行获得数字:
^>.+?-(\d+)$
或者,如果您一次只做一行的话,甚至只需要>.+-(\d+)
正则表达式对于仅仅提取一串数字来说似乎有点过于复杂了。这里有一个简单正则表达式的解决方案
相关问题 更多 >
编程相关推荐