python re 正则表达式库的使用

简介: python re 正则表达式库的使用

  .           匹配任何字符,除了\n,占位符
    *           匹配前一个字符0次或无限次
    +           匹配前一个字符1次或无限次
    ?           匹配前一个字符0次或1次
    .*          贪心算法
    .*?         非贪心算法
    ()          括号内的数据作为结果返回
    (\d+)       匹配纯数字
    []          对单个字符给出取值范围,    [abc]:a.b.c    [a-z]:a到z字符
    [^]         对单个字符排除范围,        [^abc]:非a或b或c
    |           或,                      abc|def:abc或def
    {m}         扩展前一个字符m次,         ab{2}c:abbc
    ^           匹配字符串开头
    $           匹配字符串结尾
    \d          数字,等价于[0-9]

2.正则表达式常用方法

findall:匹配符合规则的内容,返回结果的列表

search: 匹配并提取第一个符合规则的内容,返回一个正则表达式对象(object)
         .group(2)   取第二个
         匹配一个内容时,用search,提高效率

sub:    替换符合规律的内容,返回替换后的值
         re.sub("xx(.*?)xx","替换为该内容", 原字符串)

3.列子

a = "xuufhxxixxaasfasxxlovexxasdasdaxxyouxxasdasa"

print(re.findall("xx.*xx", a))
    >>>['xxixxaasfasxxlovexxasdasdaxxyouxx']

print(re.findall("xx.*?xx", a))
    >>>['xxixx', 'xxlovexx', 'xxyouxx']

print(re.findall("xx(.*?)xx", a))
    >>>['i', 'love', 'you']
  1. re.S的使用
  a = """xuufhxxixxaasfasxx
     lovexxasdasdaxxyouxxasdasa"""

  print(re.findall("xx(.*?)xx", a, re.S))
 >>>['i', 'love', 'you']

 作用:使‘.’号匹配换行符(\n)
 扩展:  re.I   忽略大小写
      re.M   ^字符能将每行当作字符串匹配开始

5.当表达式有特殊符号时,用r转义

r('正则表达式')

6.正则表达式的两种使用方法

# 一次操作
a = re.search(r'xxx', str)

# 正则表达式需要多次使用
b = re.compile(r'xxx')
a = b.search(str)
目录
相关文章
|
3月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
487 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
3月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
239 0
|
2月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
252 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
2月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
325 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
261 18
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。

推荐镜像

更多