eud*_*nia -2 python regex string bioinformatics
在以下行中:(bla - 表示不重要)
> blabla|blabla|bla|blabla| blabla [Geobacter sp. M21]
> blabla|blabla|bla|blabla| blabla [Acetobacter pasteurianus IFO 3283-07]
> blabla|blabla|bla|blabla| blabla [Gardnerella vaginalis ATCC 14019]
> blabla|blabla|bla|blabla| blabla [Granulibacter bethesdensis CGDNIH1]
Run Code Online (Sandbox Code Playgroud)
我试图将括号[]中的所有信息作为:
Geobacter sp. M21
Acetobacter pasteurianus IFO 3283-07
Gardnerella vaginalis ATCC 14019
Granulibacter bethesdensis CGDNIH1
Run Code Online (Sandbox Code Playgroud)
我的代码在这里当然不起作用 - 在[]中有时候是3,有时是4个"alfanumeric words",还有像"."或" - "这样的字符:
import re
#code...
pattern = r'[ \w+ \w+ \w+ ]'
for i in lines_:
m = re.search ( pattern, str(i) )
print m.group()
Run Code Online (Sandbox Code Playgroud)
这样可以使用正则表达式获取这些信息吗?
这里不需要正则表达式:
>>> s = '''> blabla|blabla|bla|blabla| blabla [Geobacter sp. M21]
... > blabla|blabla|bla|blabla| blabla [Acetobacter pasteurianus IFO 3283-07]
... > blabla|blabla|bla|blabla| blabla [Gardnerella vaginalis ATCC 14019]
... > blabla|blabla|bla|blabla| blabla [Granulibacter bethesdensis CGDNIH1]'''
>>> for x in s.splitlines():
... print x.rsplit('[')[-1].rstrip(']')
...
Geobacter sp. M21
Acetobacter pasteurianus IFO 3283-07
Gardnerella vaginalis ATCC 14019
Granulibacter bethesdensis CGDNIH1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |