首页 > 其他分享 >正则表达式简介及正则模块

正则表达式简介及正则模块

时间:2022-10-27 22:59:55浏览次数:54  
标签:字符 匹配 正则表达式 简介 转义 正则 字符串

今日内容总结

  • 正则表达式
  • 正则表达式介绍
  • 字符组
  • 特殊符号
  • 量词
  • 贪婪匹配与非贪婪匹配
  • 转义符
  • 正则模块

今日内容详细

正则表达式

正则表达式介绍

正则表达式一般用来表达筛选字符串内容时所遵从的规则。

字符组

使用'[]'包裹起来的字符串,内部字符串是平级关系,筛选时满足其中任意字符均满足正则。

在表示连续字符时,使用[start-end]的形式表示。

特殊符号

符号 含义
^ 起始标识符
$ 结尾标识符
. 代替除换行符之外所有字符
\d 代替数字
\w 代替数字、字母或下划线
\D 代替非数字
\W 代替非数字、字母或下划线
| 代表左右两者其中一个
() 代表内部数据为一组
[^] 代表内部字符不在筛选范围内

量词

符号 含义
* 重复1次或多次,默认多次
+ 重复1次或多次,默认多次
? 重复0次或1次,默认1次
{n} 重复n次
{n,} 重复n次或多次,默认多次
{n,m} 重复n次或m次,默认m次

量词不可单独使用,且仅影响量词左边紧挨的一个表达式。

贪婪匹配与非贪婪匹配

正则中的量词在不规定匹配次数的情况下,默认匹配多的次数,若要使用非贪婪匹配,需要在表达式结束字符前加上'?',则在匹配时仅匹配一次。

转义符

在匹配时,不加任何修饰的情况下,遇到转义符时,默认匹配转义后的字符,使用'\'取消转义。

一个转义符仅能取消一个转义符的转义功能。

正则模块

re.findall()

返回字符串中所有满足条件的不重复的匹配结果。如果正则表达式中有组,则会返回组内的结果。如果有多个组,则会返回多个组构成的元组。

re.match()

匹配字符串的开头,如果开头符合条件则返回匹配结果(位置信息及匹配的对象),如果不符合则返回None。

re.search()

匹配字符串,如果有满足条件的字符,则返回匹配结果,如果不符合则返回None。

re.sub()

尽可能多的替换字符串中符合正则的字符串,并返回替换后的结果。

re.subn()

替换字符串中指定个数的符合正则的字符串,返回结果为替换后的字符串及替换个数组成的元组。

re.compile()

当需要多次使用某一个正则表达式时,可以使用此方法将该正则表达式定为常参数,使用其他方法匹配。

标签:字符,匹配,正则表达式,简介,转义,正则,字符串
From: https://www.cnblogs.com/akazukis/p/16834306.html

相关文章

  • requests模块及openpyxl模块简介
    昨日内容回顾正则表达式字符组字符组内部字符为并列关系。连续字符用'-'连接。特殊符号开头、结尾、数字、任意字符、字母数字下划线。量词多次、一次、指......
  • hashlib模块、subprocess模块及logging模块简介
    昨日内容回顾第三方模块的下载使用pip语句下载,使用模块名==版本号指定模块版本,使用-i仓库地址改变下载源。使用pycharm下载操作更简单。request模块模拟浏览器......
  • python正则匹配日期,手机号,邮箱地址,QQ号等
    2、匹配年月日日期格式2018-12-31([12]\d{3})-(0?[1-9]|1[0-2])-(0?[1-9]|[12]\d|3[01])0?[1-9]|1\d|2\d|3[01]=>0?[1-9]|[12]\d|3[01]3、匹配qq号5-12......
  • Python中path中使用正则,及路由分发
    Pythonweb模版Django-15设置urls.py中的urlpatterns,用path方法时不能用正则表达式https://blog.csdn.net/Pansc2004/article/details/80495723      urlp......
  • day14 正则表达式
    昨天内容回顾cookie为了解决http的无状态问题(使用cookie来保存对应的seesionID位于浏览器上)cookie的特性cookie里面只能存储4kb的数据cookie位于浏览器上cookie......
  • js正则表达式
    正则表达式概述:正则表达式是运用于验证一种表达式,他在js中是一个对象,被称为正则对象,对应的正则对象存在对应相关的元字符。我只需要了解相关元字符及对应的可以书写一些......
  • 正则--匹配与不匹配
    正则表达式-(?!),(?:),(?=)(?:pattern)非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。......
  • L2 正则化
    \(L2\)正则\[\begin{align*}J=(\pmbX\pmbw-\pmby)^T(\pmbX\pmbw-\pmby)&\implies\pmbw=(\pmbX^T\pmbX)^{-1}\pmbX^T\pmby\\\widetildeJ=(\pmbX\pmbw-\pm......
  • 正则表达式
    一、正则表达式的概述1、概念正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“......
  • Jenkins持续集成简介与配置
       1.持续集成简介是一种软件开发实践,即团队开发成员经常集成他的工作,通常每个成员每天至少集成一次.也就意味每天可能会发生多次集成。每次集成都会通过自动化的构建......