python字符串中匹配数字的正则表达式

yipeiwu_com7年前Python基础

Python 正则表达式简介

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。

re 模块使 Python 语言拥有全部的正则表达式功能。

compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

本章节给大家介绍python正则表达式03--字符串中匹配数字

import re
# \d+ 匹配字符串中的数字部分,返回列表
ss = 'adafasw12314egrdf5236qew'
num = re.findall('\d+',ss)
print(num)
#运行结果
#['12314', '5236']

\d+使用匹配数字

ps:下面介绍下python 正则表达式找出字符串中的纯数字

1、简单的做法

>>> import re
>>> re.findall(r'\d+', 'hello 42 I'm a 32 string 30')
['42', '32', '30']

然而,这种做法使得字符串中非纯数字也会识别

>>> re.findall(r'\d+', "hello 42 I'm a 32 str12312ing 30")
['42', '32', '12312', '30']

2、识别纯数字

如果只需要用单词边界( 空格,句号,逗号) 分隔的数字,你可以使用 \b

>>> re.findall(r'\b\d+\b', "hello 42 I'm a 32 str12312ing 30")
['42', '32', '30']
>>> re.findall(r'\b\d+\b', "hello,42 I'm a 32 str12312ing 30")
['42', '32', '30']
>>> re.findall(r'\b\d+\b', "hello,42 I'm a 32 str 12312ing 30")
['42', '32', '30']

总结

以上所述是小编给大家介绍的python字符串中匹配数字的正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

浅要分析Python程序与C程序的结合使用

浅要分析Python程序与C程序的结合使用

Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握,但存在执行速度慢的问题,并且在处理某些问题时存在不足,如对计算机硬件系统的访问,对媒体文件的访问等。而作为软件...

Python设计模式之门面模式简单示例

Python设计模式之门面模式简单示例

本文实例讲述了Python设计模式之门面模式。分享给大家供大家参考,具体如下: facade:建筑物的表面 门面模式是一个软件工程设计模式,主要用于面向对象编程。 一个门面可以看作是为大...

Python离线安装PIL 模块的方法

Python离线安装PIL 模块的方法

python的库一般都用pip安装。 但是有时候也会出现在线安装失败的情况,如下图安装PIL模块时报错: 这时候可以采取离线安装的方式; 一、首先下载离线安装包 PIL官方版不支持py...

Python 实现自动导入缺失的库

Python 实现自动导入缺失的库

在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError:...

解决python使用open打开文件中文乱码的问题

解决python使用open打开文件中文乱码的问题

代码如下: 先在D盘下新建一个html文档,然后在里面输入含有中文的Html字符如下图,然后我们首先使用中文格式对读取的字符进行解码再用utf-8的模式对字符进行进行编码,然后就能正确输...