python 正则表达式匹配数字或者小数点_五位小数正则表达式

python 正则表达式匹配数字或者小数点_五位小数正则表达式在对文本关键信息进行提取的过程中,通常需要使用正则表达式匹配。这篇笔记整理汇总Python中可能用到的与数值相关的正则表达式。正则表达式基础正则表达式是用字符串表示的一种语法,用于描述一种字符串匹配的模式。正则表达式中大多数字符的含义是通用的,比如符号^和$在绝大多数语言的正则表达式中都表示行头和行尾;但也可能在某些语法上存在差异,这需要依据特定语言而定。Python的正则表达式匹…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在对文本关键信息进行提取的过程中,通常需要使用正则表达式匹配。

这篇笔记整理汇总 Python 中可能用到的与数值相关的正则表达式。

正则表达式基础

正则表达式是用字符串表示的一种语法,用于描述一种字符串匹配的模式。 正则表达式中大多数字符的含义是通用的,比如符号 ^ 和 $ 在绝大多数语言的正则表达式中都表示行头和行尾;但也可能在某些语法上存在差异,这需要依据特定语言而定。

Python 的正则表达式匹配

在 Python 语言中,通常使用 re 模块完成正则表达式的匹配。 使用 re.match 函数尝试从字符串的起始位置匹配一个模式,而 re.search 扫描整个字符串并返回第一个成功的匹配。 比如使用 re.match 方法:

>>> import re

>>> print(re.match(‘abc’, ‘abcd’))

>>> print(re.match(‘abc’, ‘babcd’))

None

比如使用 re.search 方法:

>>> import re

>>> print(re.search(‘abc’, ‘abcd’))

>>> print(re.search(‘abc’, ‘babcd’))

使用 re.compile 函数可以编译一个正则表达式,生成正则表达式对象,后续使用 match() 和 search() 方法:

>>> pattern = re.compile(r’abcde*’)

>>> print(pattern.search(‘babcd’))

>>> print(pattern.match(‘babcd’))

None

可以看出,match 和 search 方法的主要差别,还是在于是否要求输入字符串从开始字符起就匹配正则表达式描述的字符串模式。 具体详细参数使用可以参考 官方文档。

Python 匹配数值

在一段文本查找一个纯数字匹配,可以使用这样的正则表达式:

>>> pattern = re.compile(r’\d+’)

>>> pattern.search(‘abcd32sfs’)

不过现实场景中,数值可能并不是纯数字的形式呈现,往往可能包含了符号、小数点、指数等。关于符号

对于正负号,对于强制或可选的情况可以使用 [-+] 或 [-+]? 表示。普通数字

可以使用 [0-9] 或 \d 表示,两者是等价的。小数点

由于符号 . 在正则表达式中是关键符号有特殊含义,表示小数点需要使用转义字符 \.。指数

通常科学计数法的指数形式会使用 [eE][-+]?[0-9]+ 表示,因为符号 e 或 E 后必须跟着至少一个数字才有意义。

实例

综上所述,通过上述几个部分的组合,能够拼出满足特定要求的正则表达式。案例1

强制小数点的浮点数,小数点前必须有数值(不能是 .56)。

^[-+]?[0-9]+\.[0-9]+$案例2

强制小数点的浮点数,小数点前可以无数值(可以是 .56)。

^[-+]?[0-9]*\.[0-9]+$案例3

小数点可选,但如果存在后面一定要有数值。

^[-+]?([0-9]+(\.[0-9]+)?|\.[0-9]+)$案例4

小数点可选,如果前面有整数对后面不做要求,如果前面没有整数后面一定要有数值。

^[-+]?([0-9]+(\.[0-9]*)?|\.[0-9]+)$案例5

小数点可选,如果前面有整数对后面不做要求,如果前面没有整数后面一定要有数值,可选的指数部分。

^[-+]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][-+]?[0-9]+)?$python 正则表达式匹配数字或者小数点_五位小数正则表达式

总结

笔记简单整理了 Python 使用正则表达式的方式以及常用的数值匹配正则表达值,可供查阅。

参考链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181999.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ext.apply()_函数evaluate的应用

    ext.apply()_函数evaluate的应用转载网址:http://www.cnblogs.com/yin-jingyu/archive/2011/07/30/2122176.htmlapply的用法:    Ext中apply及applyIf方法的应用apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而apply

    2022年7月28日
    2
  • 骑士编年史服务器没响应,骑士编年史非root刷初始方法

    骑士编年史服务器没响应,骑士编年史非root刷初始方法骑士编年史初始怎么刷?安卓机不root怎么刷初始?来看看9k9k小编rayxx带来的骑士编年史非root刷初始方法。开始第一步前请确认该文件夹的属性大小,在正常情况下该文件夹大小应该在1.3g以上。如果出现大小只有以k为单位或者100m以下的情况,此方法将不适用于你的手机系统,只能直接进行第二步,重新下载数据包,如果root了那就更简单了,百度一下你就知道。第一步,打开自带的文件管理器找到下图所示…

    2022年10月21日
    1
  • 神经网络BP反向传播算法原理和详细推导流程

    神经网络BP反向传播算法原理和详细推导流程1反向传播算法和BP网络简介误差反向传播算法简称反向传播算法(即BP算法)。使用反向传播算法的多层感知器又称为BP神经网络。BP算法是一个迭代算法,它的基本思想为:(1)先计算每一层的状态和激活值,直到最后一层(即信号是前向传播的);(2)计算每一层的误差,误差的计算过程是从最后一层向前推进的(这就是反向传播算法名字的由来);(3)更新参数(目标是误差变小)。迭代前面两个步骤,直到满足…

    2022年6月13日
    33
  • idea永久激活注册码 3月最新注册码

    idea永久激活注册码 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    86
  • windows下使用aspera_vlc windows

    windows下使用aspera_vlc windows资源下载官网资源:https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz环境配置编译环境:Win764位系统VS2015创建一个VS2015项目,应用程序类型使用静态库,注意取消勾选“使用预编译头”;将资源[libiconv-1.16\lib]文件夹下的所有文件,全部复制到第一步创建的工程目录下,并找到config.h….

    2025年5月22日
    0
  • vim为什么不能打开文件了(vim怎么保存文件)

    vim打开的文件无法使用:wq保存的问题在使用vim编辑一个.c文件的时候,完成使用:wq保存报以下错误网上查了一下,应该是权限问题.一般做法是先退出当前vim,以sudovim进入即可。如果使用ctrl+z命令退出,授予权限之后无法使用fg命令返回vim中E121:无法打开并写入文件解决办法1、使用命令:w!sudotee%保存即可。其中:冒号(:)表示我们处于vim的退出模式;感叹号(!)表示我们正在运行shell命令;sudo和tee都是shell命令;%表示从当前

    2022年4月14日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号