用于读取由分号分隔的字符串并捕获特殊字符的正则表达式。蟒蛇

时间:2014-04-15 20:15:50

标签: python regex

我有一个字符串如下:

mod_str ="10Deamidated; 12Gln->pyro-Glu"

我想将字符串的两个部分分成包含整数和字符串的元组的列表元素,如下所示:

[('10', 'Deamidated'), ('12', 'Gln->pyro-Glu')]

我使用以下代码捕获字符串,但我不知道如何包含特殊字符。

match_pattern = re.compile(r'(\d+)(\w+)')
items = match_pattern.findall(mod_str)

到目前为止输出看起来像这样:

[('10', 'Deamidated'), ('12', 'Gln')]

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:5)

这个正则表达式怎么样?:(\d+)([^;]+)

第二组将捕获一个或多个不是分号的字符。