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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • db2事务隔离级别设置_db2存储过程

    db2事务隔离级别设置_db2存储过程Jdbc事务隔离级别 Jdbc隔离级别 数据库隔离级别 数据访问情况 TRANSACTION_READ_UNCOMMITTED(未提交读)UncommittedRead ur 脏读,在没有提交数据的时候能够读到已经更新的数据 TRANSACTION_READ_C…

    2022年10月14日
    5
  • 【SSM – SpringMVC篇】02 – SpringMVC执行流程详解,SpringMVC三大核心组件和使用,SpringMVC头文件模板

    【SSM – SpringMVC篇】02 – SpringMVC执行流程详解,SpringMVC三大核心组件和使用,SpringMVC头文件模板1.SpringMVC执行流1.1SpringMVC三大核心组件HandlerMapping处理器映射器:建立地址与方法的映射。HandlerMapping负责根据用户请求url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。HandlerAdapter处理器适配器:根据地址调用方法。Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet

    2022年6月28日
    32
  • 搭建JavaWeb服务器[通俗易懂]

    搭建JavaWeb服务器[通俗易懂]JDK安装可以参考 http://www.cnblogs.com/a2211009/p/4265225.htmlTomcat安装可参考1.由于服务器配置比较低综合考虑,选择ubuntu系

    2022年7月1日
    32
  • 5大优秀黑客必逛技术网站

    5大优秀黑客必逛技术网站5大优秀黑客必逛技术网站HackForums最理想的黑客技术学习技术根据地,也适用于开发人员游戏开发者,程序员,图形设计师以及网络营销人士HackThisSite提供合法而安全的网络安全资源,可以通过·各类挑战题目测试自己的黑客技能EnilZone一个专门面向黑科群体的论坛,其中也涉及科学,编程以及艺术等领域的内容Exploit-DB提供一整套庞大的归档体…

    2022年7月15日
    24
  • 使用ActionForm類別

    使用ActionForm類別入門 07 使用 ActionForm 類別 functiontogg id varoldAttach document getElementBy attachment id with oldAttachmen

    2025年10月29日
    2
  • intellij idea 2021 激活码【2021.10最新】

    (intellij idea 2021 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    33

发表回复

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

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