Python正则表达式的另类解答
作者:MrL_JJ 发布时间:2023-08-02 06:58:04
一、正则表达式的作用
提示:正则表达式是一段特殊的字符串,它表示的是一段有规律的信息。如果我们想从一段文字中提取想要的内容,就可以通过正则表达式来方便的帮助我们提取。
提示:以下是本篇文章正文内容,下面案例可供参考
二、正则表达式基本符号
1.点号“.”
“.”表示的是匹配除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点符号和中文标点符号。
2.星号“”
“”表示匹配它前面的一个子表达式(普通字符、另一个或几个正则表达式符号)0次到无限次。
3.问号“?”
“?”表示匹配它前面的子表达式0次或者1次。注意,这里的问号是英文问号。
4.数字“\d”
“\d”在正则表达式里表示一位数字,“\d”由反斜杠和字母d构成的,但是要把“\d”看成一个正则表达式符号整体。
5.小括号“()”
小括号可以把括号里面的内容提取出来。
三、Python自带正则表达式模块
Python自带一个非常强大的的正则表达式模块,名字为“re”,也就是“regular expression”的首字母缩写。在Python中需要先使用导入的语句:import re 导入这个模块再进行使用。
1.findall函数
findall的函数原型为:re.findall(pattern, string, flags=0)
pattern表示正则表达式,string表示原来的字符串,flags表示一些特殊功能的标志。 这个参数是可以省略的。当不省略的时候,具有一些辅助功能,例如忽略大小写、忽略换行符等。
import re
text = '牛肉价格:70¥,九节虾价格:120¥,西兰花价格:5¥,马鲛鱼价格:40¥'
prices = re.findall('价格:(.*?)¥', text)
print('正则表达式返回的价格:{}'.format(prices))
findall返回的结果是一个列表,包含了所有的匹配到的结果:
2. search()的函数原型为:
re.search(pattern, string, flags=0)
用法和findall()的用法一样,但是search()只会返回第1个满足要求的字符串。对于从超级大的文本里面只找第1个数据特别有用,可以大大提高程序的运行效率。
import re
text = '牛肉价格:70¥,九节虾价格:120¥,西兰花价格:5¥,马鲛鱼价格:40¥'
prices = re.search('价格:(.*?)¥', text)
print('正则表达式返回的价格:{}'.format(prices.group(1)))
对于结果,如果匹配成功,则是一个正则表达式的对象;如果没有匹配到任何数据,就是None。 如果需要得到匹配到的结果,则需要通过.group()这个方法来获取里面的值。group()的参数最大不能超过正则表达式里面括号的个数。参数为1表示读取第1个括号中的内容,参数为2表示读取第2个括号中的内容,以此类推。
来源:https://blog.csdn.net/weixin_44901043/article/details/121080713


猜你喜欢
- 之一:torchvision 中包含了很多预训练好的模型,这样就使得 fine-tune 非常容易。本文主要介绍如何 fine-tune t
- 本文实例讲述了Python列表原理与用法。分享给大家供大家参考,具体如下:列表的基本认识列表简介列表的创建基本语法[]创建list()创建r
- 0.目录1.前言2.安装python3.使用pip下载、安装包3.1 安装Scrapy3.2 安装PyQt3.3 同时安装多个包3.4 pi
- 今天工作中遇到个小问题,情况如下,当我在后台页面中设置Checkbox的Enable的值为false时,我在前端页面中使用脚本(
- 初学python,我们必须干点有意思的事!从微信下手吧!头像集样例如下: 大家可以发朋友圈开启辨认大赛哈哈~话不多说,直接上代码,注释我写了
- 第一种:ROW_NUMBER() OVER()方式select * from ( select *, ROW_NUMBER() OVER(O
- 在matplotlib官网看到了第三方库numpngw的简介,利用该库作为插件可以辅助matplotlib生成png动画。numpngw概述
- 前言我们在django-rest-framework 自定义swagger 文章中编写了接口, 调通了接口文档. 接口文档可以直接填写参数进
- 类代码:# -*- coding:gbk -*-import ConfigParser, osclass INIFILE: de
- 本文实例讲述了Python实现PS滤镜碎片特效功能。分享给大家供大家参考,具体如下:这里用 Python 实现 PS 滤镜中的碎片特效,这个
- Web开发中,我们经常会遇到分页显示和排序数据记录集的情况,这在服务器端使用服务器端的代码和数据库技术是件很轻松的事情,比如:ASP、PHP
- 引言skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的。为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,
- 印刷和网络是不一样的。传统的布局排版并不适于网络,因为传统的印刷布局,几乎只想要什么样的平面效果都能很好的达到,但在网络上设计就很困难,尽管
- 如下所示:matrix.py#!/usr/bin/python# -*- encoding:UTF-8-*-import pprintimp
- 为什么要同步SQL Server 2000 数据库,它都用在什么场合SQL Server 2000 数据库同步配置的原理从0开始一步一步配置
- JS 控制文本框只能输入数字<input onkeyup="value=value.replace(/[^0-9]/g,
- 导语害!现在是10月份了,国庆过完也降温了——还有几个月就过年了,哦吼~这一年就快过去了,不知道小编带给大家这么多的表白代码都用了没?用了没
- 注:所有文字,除注明网站类型外,其他均针对企业站点.请随时注意留言,若修改则会在首页提示文字里标注.若牵扯到业务方面的问题,我可能不会做过多
- 这是一道常见的面试题,在实际项目中经常会用到。需求:求出以产品类别为分组,各个分组里价格最高的产品信息。实现过程如下:declare @t
- 单一数据读取方式:第一种:slice_input_producer()# 返回值可以直接通过 Session.run([images, la