如何在python中使用带有正则表达式(findall)的枚举?

天虎

我有一个txt文件如下,

#onetwothree.txt
>one 
QWERTYUIOP
>two
ASDFGHJKL
>three
ZXCVBNM
...

我想将该 txt 文件拆分为几个文件,如下所示,

#one.txt
>one
QWERTYUIOP

#two.txt
>two
ASDFGHJKL

#three.txt
>three
ZXCVBNM

这是我写的代码,

import re
with open("onetwothree.txt") as file:
 name=re.findall(r'\>[^\n]+',file.read())
 sequence=re.findall(r'name[ind][^/n]+' for ind in enumerate(name), file.read())
          .
          .
          .

我知道接下来的部分有问题。

sequence=re.findall(r'name[ind][^/n]+' for ind in enumerate(name), file.read())

我想用 做一个列表re.findallenumerate下面的列表是我想要的。

>>>print (seq)
["QWERTYUIOP","ASDFGHJKL","ZXCVBNM"]

我该如何sequence=re.findall(r'name[ind][^/n]+' for ind in enumerate(name), file.read())正确修复此代码

阿比吉特·阿索坎

首先,您不能使用 两次读取文件read(),第二次调用它时,它返回一个空字符串。

另外,我认为您对re.findall. 它只需要 2 个参数(正则表达式,字符串)。

一次即可完成任务,无需调用findall两次。

s = '''>one 
QWERTYUIOP
>two
ASDFGHJKL
>three
ZXCVBNM
''' # replace this with file.read()

res = re.findall(">([^\n]+)\n(\w+)",s)     #each regex in paren constitutes a group
print(res) 
#[('one ', 'QWERTYUIOP'), ('two', 'ASDFGHJKL'), ('three', 'ZXCVBNM')]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在正则表达式中使用变量?

如何在正则表达式中使用变量?

如何在VBA中使用正则表达式?

如何在angularjs中使用正则表达式

如何在Swift中使用正则表达式?

如何在Powershell中使用正则表达式

如何在Scala中使用正则表达式?

如何在带有管道(OR)的正则表达式中使用“ *”(即“匹配零个或多个”)?

正则表达式到FindAll字符串链,直到带有python的点

如何在Haskell中使用带有正则表达式的map

如何在python中使用正则表达式删除字母以外的所有字符

如何在熊猫中使用正则表达式?

如何在列表理解中使用正则表达式re.compile Match()或findall()

如何通过Python在属性文件中使用带有正则表达式字符串的正则表达式模式进行搜索

如何在yii中使用正则表达式

如何在带有不同数量空白的python中使用正则表达式

如何在php中使用正则表达式?

如何在带有find的exec内使用正则表达式?

如何在正则表达式中使用加号

如何在python中使用正则表达式获取所有字符串行

如何在iptables中使用正则表达式

在正则表达式模式匹配中使用枚举

如何在正则表达式函数中使用

如何在正则表达式中使用“[”和“]”

如何在python中使用正则表达式?

如何在python中使用正则表达式删除除某些特殊字符之外的所有特殊字符

如何在Javascript正则表达式中使用{{}}

在python中使用带有正则表达式的多个变量

如何在 Python 中使用正则表达式获取所有组的出现?