【发布时间】:2015-03-30 18:05:55
【问题描述】:
这是我用来从字母数字字符串中拆分字母和数字的python代码:
input_string = 'abcdefghijklmnopqrstuvwxyz1234567890'
import re
print re.search('[a-z]*', input_string).group()
print re.search('[0-9]*', input_string).group()
在输出中,我得到的是字母串,但没有得到数字串。如果我修改代码如下输出显示数字:
print re.search('[0-9]*$', input_string).group()
我习惯了grep,发现它的功能类似于re模块,如果我在shell中运行以下命令,我会得到想要的结果:
echo "abcdefghijklmnopqrstuvwxyz1234567890" | grep "[0-9]*"
我错过了什么吗?
【问题讨论】:
-
您需要使用
re.findall函数,因为re.search只会返回第一个匹配项。 -
你为什么不在你的模式中使用原始字符串呢?喜欢
r'[a-z]*'
标签: python regex python-2.7