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

python正则表达式

时间:2023-02-19 14:31:31浏览次数:68  
标签:__ string re python text 正则表达式 pattern print

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。python中提供了re模块用于正则表达式的匹配

1、re.findall:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

re.findall(pattern, string, flags=0)
  • pattern:匹配的正则表达式
  • string:匹配的字符串
  • flages:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等

re.I

使匹配对大小写不敏感

re.L

做本地化识别(locale-aware)匹配

re.M

多行匹配,影响^和$。当某字符串中有换行符​​\n​​,默认模式下是不支持换行符特性的,比如:行开头 和 行结尾,而多行模式下是支持匹配行开头的。

re.S

使 . 匹配包括换行在内的所有字符,默认模式下​​.​​​是不能匹配行符​​\n​​的。

re.U

根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.

re.X

可以添加注释

1.1、re.I:​

x
 12345678

python正则表达式_大小写

1.2、re.S:

import re

if __name__ == '__main__':
text = "测试\n测试"
pattern = ".*"
print("默认模式:{}".format(re.findall(pattern=pattern, string=text)))
print("忽略大小写:{}".format(re.findall(pattern=pattern, string=text, flags=re.S)))

python正则表达式_字符串_02

1.3、re.M:

import re

if __name__ == '__main__':
text = "测试\n一下"
pattern = "^一下"
print("默认模式:{}".format(re.findall(pattern=pattern, string=text)))
print("忽略大小写:{}".format(re.findall(pattern=pattern, string=text, flags=re.M)))

python正则表达式_正则表达式_03

1.4、re.X:

import re

if __name__ == '__main__':
text = "测试一下"
pattern = "^测试一下 # 测试"
print("默认模式:{}".format(re.findall(pattern=pattern, string=text)))
print("忽略大小写:{}".format(re.findall(pattern=pattern, string=text, flags=re.X)))

python正则表达式_大小写_04

2、re.match:尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none

import re

if __name__ == '__main__':
text = "测试一下"
pattern1 = "测试"
pattern2 = "一下"
print(re.match(pattern=pattern1, string=text))
print(re.match(pattern=pattern2, string=text))

python正则表达式_字符串_05

3、re.search:扫描整个字符串并返回第一个成功的匹配。

import re

if __name__ == '__main__':
text = "测试abc一下"
pattern1 = "测试"
pattern2 = "一下"
print(re.search(pattern=pattern1, string=text))
print(re.search(pattern=pattern2, string=text))

python正则表达式_大小写_06

注意:re.search和re.match区别:re.search查找整个字符串,直到找到匹配;re.match如果开头不匹配,则直接返回None

4、re.compile:用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用

import re

if __name__ == '__main__':
pattern = re.compile(r"\d+")
print(pattern.match("test12"))
print(pattern.match("12test"))
print(pattern.search("test12"))
print(pattern.search("12test"))

python正则表达式_字符串_07

标签:__,string,re,python,text,正则表达式,pattern,print
From: https://blog.51cto.com/u_15694134/6066725

相关文章

  • shell正则表达式和awk
    一、正则表达式注意事项:使用正则表达式必须加引号。正则表达式主要用来匹配字符串(命令结果,文本内容) 通配符匹配文件(而且是已存在的文件)基本正则表达式扩展正则......
  • python 导出依赖包
    freeze方式pip自带的命令、此方式可将环境内所有已安装依赖包导出到文件中、适合于虚拟环境workon$name#进入虚拟环境pipfreeze>r......
  • TensorRT教程(六)使用Python和C++部署YOLOv5的TensorRT模型
    前言 今天这里主要介绍使用Python部署TensorRT的模型以及使用C++部署TensorRT的模型这两种方法。其实在日常部署的工作中,更多是使用C++进行部署,因为这样可以更加丝滑地迁......
  • 软件测试|Python列表的使用,你都会了吗?(二)
    前言上一篇文章我们主要讲述了Python列表的一些基本操作,本篇文章我们继续讲述Python列表的其他操作。列表中添加元素Python提供了append()方法用于列表添加元素。代码如下:......
  • 软件测试|超好用超简单的Python GUI库——tkinter
    前言如果我们想要使用Python创建一个GUI界面,我们应该使用哪个库?Python有没有实现这个功能的库?答案是肯定的,Python的库这么多,肯定有实现上述功能的库,那么我们应该使用哪一......
  • 软件测试|教你使用Python实现五子棋游戏(一)
    前言五子棋是我们传统的益智游戏之一,老少皆宜,上手简单,对于锻炼逻辑思维,增强思考能力有很大帮助。那么,我们能不能使用Python来写出五子棋的程序呢,毕竟不是什么时候都有对手和......
  • 软件测试|教你使用Python快速绘制酷炫词云图
    前言词云图现在似乎成了各个互联网产品年终盘点的标准形式,比如我们的热搜,我们QQ音乐网易云音乐最喜欢的歌手最喜欢的歌曲等等,词云图实在是太契合互联网时代了。那么我们能不......
  • 软件测试|Python数据可视化神器——pyecharts教程(一)
    前言我们都知道百度开源了一个Echarts数据可视化库,支持绘制各种主流的图表。Python在数据分析方面是十分强大的,于是,pyecharts就应运而生了。pyecharts简介及安装pyecharts继......
  • 软件测试|一文教你Python实现不同数据类型互转
    前言日常工作中,我们有的时候需要将一种类型的数据转换成其他类型的数据,便于我们的操作。字符串与数字类型转换字符串转数字字符串转数字,默认只处理由纯数字组成的字符串。s......
  • 软件测试|一文弄懂Python集合相关操作
    前言集合是Python的基本数据类型,是我们工作中经常会用到的数据类型,Python有一系列关于集合的操作,作为一个Pythoner,我们必须要掌握这些操作。集合的介绍集合是Python的基本数......