import re
line = 'asdf fjdk; afed, fjek,asdf, foo'
# \s 匹配任意空白符,正则意思:分隔符可以是逗号,分号或者是空格,并且后面紧跟着任意个的空格
print(re.split(r"[;,\s]\s*",line)) # ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']
# 如果使用了捕获分组,那么被匹配的文本也将出现在结果列表中
print(re.split(r"(;|,|\s)\s*",line)) # ['asdf', ' ', 'fjdk', ';', 'afed', ',', 'fjek', ',', 'asdf', ',', 'foo']
例:
快速提取文件中含有insert size average
:的行:
with open(filename2) as f:
for line in f:
if 'insert size average:' in line:
c = re.split("\t|\n",line)
#c = .split("\t\n")
break