python正则表达式替换

时间:2012-09-17 20:15:26

标签: python regex string

我需要找到" taxid"的价值。在大量类似于下面给出的字符串中。对于这个特定的字符串,' taxid'价值是' 9606'我需要丢弃其他一切。 " taxid"可能出现在文本的任何地方,但始终会跟随":"然后编号。

score:0.86|taxid:9606(Human)|intact:EBI-999900

如何在python中为此编写正则表达式。

2 个答案:

答案 0 :(得分:4)

>>> import re
>>> s = 'score:0.86|taxid:9606(Human)|intact:EBI-999900'
>>> re.search(r'taxid:(\d+)', s).group(1)
'9606'

如果有多个出租车,请使用re.findall,它会返回所有匹配项的列表:

>>> re.findall(r'taxid:(\d+)', s)
['9606']

答案 1 :(得分:0)

for line in lines:
    match = re.match(".*\|taxid:([^|]+)\|.*",line)
    print match.groups()