正则表达式的奇怪行为

时间:2014-02-23 18:50:10

标签: python regex

我有这个str列表

l=['Cu_3', 'P_2', 'O_8']

和这两个正则表达式

import re
sub = re.compile('_([0-9])')    
sub2 = re.compile('._([0-9])')

sub与列表中的任何elemetn都不匹配,而sub2匹配最后两个但不匹配第一个.. 我可能错过了一些东西,但我希望用两个下划线来捕获数字。这有什么问题?

1 个答案:

答案 0 :(得分:4)

问题在于您使用match()方法而不是search()方法,因此您的正则表达式会锚定在字符串的开头。