在最后出现的大括号之间提取文本

2024-09-29 02:20:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的弦

Protein XVZ [Human]
Protein ABC [Mouse]
Protein CDY [Chicken [type1]]
Protein BBC [type 2] [Bacteria]

输出应该是

Human
Mouse
Chicken [type1]
Bacteria

因此,我希望所有东西都放在最后一对牙套里。在上一个示例中,必须忽略该对前面的大括号。在Python中有没有一种有效的方法来实现这一点?事先谢谢你的帮助。你知道吗


Tags: 方法示例type大括号bbcabchumanchicken
1条回答
网友
1楼 · 发布于 2024-09-29 02:20:26

这个怎么样:

import re
list = ["Protein XVZ [Human]","Protein ABC [Mouse]","go UDP[3] glucosamine N-acyltransferase [virus1]","Protein CDY [Chicken [type1]]","Protein BBC [type 2] [Bacteria] [cat] [mat]","gi p19-gag protein [2] [Human T-lymphotropic virus 2]"]
pattern = re.compile("\[(.*?)\]$")
for string in list:
    match = re.search(pattern,string)
    lastBracket = re.split("\].*\[",match.group(1))[-1]
    print lastBracket

相关问题 更多 >