darchir 发表于 2021-5-7 19:34:00

python 小白求教正则表达式

为啥下面的结果不是['3', '1', '5', '3']?'\d'不是代表吗?

>>> p = re.compile('\d+')
>>> p.findall('3只小甲鱼,15条腿,多出的3条在哪里?')
['3', '15', '3']

suchocolate 发表于 2021-5-7 19:58:36

本帖最后由 suchocolate 于 2021-5-7 20:00 编辑

\d+ : 1个或多个数字,15就算一次。
\d:匹配1个数字,15算两次。>>> p = re.compile('\d')
>>> p.findall('3只小甲鱼,15条腿,多出的3条在哪里?')
['3', '1', '5', '3']

lightning_red 发表于 2021-5-7 21:02:56


import re
p = re.compile(r'\d')
print(p.findall('3只小甲鱼,15条腿,多出的3条在哪里?'))

运行得到的结果是 ['3', '1', '5', '3']


import re
p = re.compile(r'\d+')
print(p.findall('3只小甲鱼,15条腿,多出的3条在哪里?'))

运行得到的结果是: ['3', '15', '3']

龙舞九天 发表于 2021-5-11 05:48:59

{:5_95:}
页: [1]
查看完整版本: python 小白求教正则表达式