首页 > 编程语言 >python 正则表达式

python 正则表达式

时间:2024-10-28 09:32:12浏览次数:7  
标签:searchObj group re python print 正则表达式 字符串 匹配

python使用正则表达式

re.search

searchObj = re.search( r'正则表达式', line, flag)
if searchObj:
   print "searchObj.group() : ", searchObj.group() #查看匹配到的字符串
   print "searchObj.group() : ", searchObj.group(1) #查看第一个捕获组的内容
   print "searchObj.group() : ", searchObj.span() #查看在字符串中的下标位置
else:
   print "Nothing found!!"

re.match与re.search类似,区别在于re.match只从字符串开头进行匹配。
可选的flag如下:

如果想用多个标志就使用|连接多个flag。

re.sub

re.sub(pattern, repl, string, count=0, flags=0)

  • pattern : 正则中的模式字符串。
  • repl : 替换的字符串,也可为一个函数。
  • string : 要被查找替换的原始字符串。
  • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
    使用函数的示例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import re
 
# 将匹配的数字乘以 2
def double(matched):
    value = int(matched.group('value'))
    return str(value * 2)
 
s = 'A23G4HFD567'
print(re.sub('(?P<value>\d+)', double, s))

re.compile

pattern = re.compile(r'\d+')                    # 用于匹配至少一个数字
m = pattern.match('one12twothree34four')        # 查找头部,没有匹配
m = pattern.match('one12twothree34four', 2, 10) # 从'e'的位置开始匹配,没有匹配

当用同样的正则表达式匹配多个字符串时,使用起来比较方便。

re.findall

result = re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10')
print(result)

结果为[('width', '20'), ('height', '10')]这样的元组列表。

re.split

re.split(pattern, string[, maxsplit=0, flags=0])
根据匹配到的字符串进行split,maxsplit表示分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。

匹配到的match对象

  • group([group1, …]) 方法用于获得一个或多个分组匹配的字符串,当要获得整个匹配的子串时,可直接使用 group() 或 group(0);
  • start([group]) 方法用于获取分组匹配的子串在整个字符串中的起始位置(子串第一个字符的索引),参数默认值为 0;
  • end([group]) 方法用于获取分组匹配的子串在整个字符串中的结束位置(子串最后一个字符的索引+1),参数默认值为 0;
  • span([group]) 方法返回 (start(group), end(group))。

标签:searchObj,group,re,python,print,正则表达式,字符串,匹配
From: https://www.cnblogs.com/xzh-personal-issue/p/18509677

相关文章

  • 实例代码演示教你如何免费获取股票数据(用python、JavaScript等多种语言获取实时数据、
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • Python包——Matplotlib
            Matplotlib是Python中一个广泛使用的绘图库,它能够生成高质量的图表和图形。它提供了一个类似于MATLAB的绘图框架,使得数据可视化变得简单和直观。下面是一些关于如何使用Matplotlib的基础知识和示例。1.常用API1.1绘图类型函数名称描述Bar绘制条形......
  • Python算法学习2-序列
    序列名[下标]或序列名[-序号]引用序列中各个元素s="abcdefg"s[0]#'a's[6]#'g's[-1]#'g's[-7]#'a's[-4]#'d'列表len()可以求列表中元素个数list()可将迭代类型转化成列表s='abcdefg's=list(s)#s=['a','b','......
  • (赠源码)基于python+HTML5+flask+mysql技术的酒店在线系统的设计与实现89223-计算机毕业
    目录1绪论1.1课题背景及意义1.1.1课题背景1.1.2课题意义1.2 研究现状1.2.1国外研究现状1.2.2 国内研究现状2 开发工具和开发平台2.1关键性知识及技术简介2.1.1HTML5介绍2.1.2 Flask框架概述2.2Python简介2.3 开发环境及工具3系统分......
  • 【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成
    配置torch环境pip升级因为一些包安装不成功可能和pip版本有关,所以先升级pip吸取之前python有多个版本的经验,所以我指定了Python版本的pip进行升级就是python3.8版本:/home/某某/Python3.8/bin/python3.8(要换成你实际的python位置)/home/某某/Python3.8/bin/python3.8-......
  • Python实现摇号系统
    1.引言摇号系统在现代社会中有广泛的应用,特别是在车牌摇号、房屋摇号等公共资源分配领域。摇号系统的主要目的是通过随机分配的方式,确保资源的公平、公正分配。本文将详细介绍如何使用Python实现一个简单的摇号系统,包括系统的准备工作、基础理论知识、详细步骤、常见问题解答以及......
  • python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)
    文章目录1、任务目标2、网页分析3、代码编写1、任务目标目标网站:B站视频(https://www.bilibili.com/video/BV1se41117WP/?vd_source=e8e376ccbc5aa4cfd88e6a7917adfd1a),用于本文测验要求:抓取该网址下的视频,将其存入本地,如下:2、网页分析在分析网页前,我们需要明白......
  • python数学建模习题六
    学号后四位3026,1班6.1importnetworkxasnximportmatplotlib.pyplotaspltL1=[(1,2),(1,3),(1,4),(2,3),(2,6),(3,4),(4,5),(5,6)]G1=nx.Graph();G1.add_nodes_from(range(1,7))G1.add_edges_from(L1);posl=nx.shell_layout(G1)plt.subplot(131......
  • Python 函数的返回值定义语法
    什么是函数返回值?函数在执行完成后,返回给调用者的结果返回值的应用语法:使用关键字:return来返回结果def函数(参数...):函数体return返回值变量=函数(参数)注意:函数体在遇到return后就结束了,所以写在return后的代码不会执行练习:#定义一个函数,完成两......
  • python可以对excel进行那些操作
    根据标题“Python可以对Excel进行哪些操作”,Python对Excel的操作能力强大,涵盖数据读写、格式设置、图表创建、数据分析和自动化处理等功能。例如,1、读取和写入数据:Python可以读取Excel文件中的数据,并将数据写入到Excel中;2、格式设置:Python能够调整字体、颜色、单元格的大小和排列;3......