python从字符串中提取数字

1、使用正则表达式,用法如下:##总结##^匹配字符串的开始。##$匹配字符串的结尾。##\b匹配一个单词的边界。##\d匹配任意数字。##\D匹配任意非数字字符。##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。##x*匹配0次或者多次x字符。##x+匹配1次或者多次x字符。##x{n,m}匹配…

大家好,又见面了,我是你们的朋友全栈君。

1、使用正则表达式,用法如下:

## 总结
## ^ 匹配字符串的开始。
## $ 匹配字符串的结尾。
## \b 匹配一个单词的边界。
## \d 匹配任意数字。
## \D 匹配任意非数字字符。
## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。
## x* 匹配0次或者多次 x 字符。
## x+ 匹配1次或者多次 x 字符。
## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。
## (x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。
## 正则表达式中的点号通常意味着 “匹配任意单字符”

2、解题思路:

  • 既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;

  • 所以一般是形如:—-.—–;

  • 根据上述正则表达式的含义,可写出如下的表达式:”\d+.?\d*”;

    • \d+ 匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;
    • \.? 这个是匹配小数点的,可能有,也可能没有;
    • \d* 这个是匹配小数点之后的数字的,所以是0个或者多个;

3、代码如下:

# -*- coding: cp936 -*-
import re
 
string="A1.45,b5,6.45,8.82"
print re.findall(r"\d+\.?\d*",string)
 
# ['1.45', '5', '6.45', '8.82']
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年4月3日 下午2:35
下一篇 2022年4月3日 下午2:35


相关推荐

  • http.sys远程代码注入漏洞

    http.sys远程代码注入漏洞http.sys是一个位于Win2003和WinXPSP2中的操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。主要存在于在Windows+IIS环境下,影响了包括Windows7、WindowsServer2008R2、Windows8、WindowsServer2012、Windows8.1和WindowsServer2012

    2022年7月25日
    11
  • 10000 字实战教程:把 Claude Code 和 Skills 一次讲清|从完全小白到实战,所有坑都踩遍

    10000 字实战教程:把 Claude Code 和 Skills 一次讲清|从完全小白到实战,所有坑都踩遍

    2026年3月16日
    3
  • Android 3D画廊采用Gallery实现无限循环、自动轮播

    Android 3D画廊采用Gallery实现无限循环、自动轮播公司最近有一个需求,是打算做一个轮播图的展示界面,不过和传统意义上不同,并非是在手机app的顶部展示几张定时切换的固定大小宽高的图片,而是中间长方形,两边向里倾斜,形成对称感的特殊界面,如下图:需要实现功能:无限循环,自动跳转,倒影效果。(原本的企划是动画轮播的时候,下面会呈现一条Listview,里面会因为展示的不同界面而呈现不同的内容,但是后面放弃了。)下面开始上代码:

    2022年6月13日
    46
  • python GMT时间格式转化

    python GMT时间格式转化1 datetime 类型转换成 GMT 时间格式的字符串 如 Thu 19Feb 00 07GMT strftime 官方释义 newstring fromdatetime FORMAT a d b Y H M SGMT 0800 CST print datetime utcnow st

    2026年3月19日
    2
  • 智能家居,如何离我们有多远?

    智能家居,如何离我们有多远?

    2022年1月4日
    46
  • 细说Spring——AOP详解(AOP概览)

    细说Spring——AOP详解(AOP概览)一、对AOP的初印象首先先给出一段比较专业的术语(来自百度):在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而…

    2022年7月27日
    8

发表回复

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

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