re.compile()python:获取特定模式的问题

时间:2017-10-06 04:32:14

标签: python

我一直在尝试提取特定模式,在字符串中看起来像(PSSA)(FJFD10)

在这样的字符串中,我希望在这种情况下提取例如括号(PNDM)内的内容。但是,我想打印它没有括号。

eg_string = """DAAAAAAJFF: Hellllllllo (PNDM)
CC       [MIM:606176]: Blalblablalbalbl. {CCO:0000069|Pubd:160,
CC       ECO:0000269|PubMed:18162506}. Note=elllelefjfjfjf HAahndfd
"""

我做的是:

patti = re.compile(r'([A-Z]+)')
www = patti.findall(eg_string)

然而,这给了我超过我的需要。它确实包括PNDM,但也包括DAAAJFFECO

我尝试的另一件事是r'(^[A-Z]+)我知道它只会打印DAAAAAJFF。我想知道如何打印位于字符串中间的(PNDM)

2 个答案:

答案 0 :(得分:1)

使用正则表达式:r"\([A-Z]+\)"获取包含()的文字结果。

演示:https://regex101.com/r/e2gyly/1

说明:

\( - will look for opening brace (
[A-Z] - any char between range A to Z 
\) - closing brace )

答案 1 :(得分:0)

此处HttpURLConnection被视为类似A-Z的模式,但您需要将其更改为([A-Z]+) 您的代码就像

\(([A-Z]+)\)

希望这会有所帮助...