一.限定符

字符 描述
* 匹配前面的子表达式零次或多次。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 例如do(es)? 可以匹配 dodoes 中的 doesdoxy 中的 do
^ 1.匹配输入字符串的开始位置 2.在[ ]中使用时,表示不匹配[ ]中的字符集合。
$ 匹配输入字符串的结尾位置。
{n} n 是一个非负整数。匹配确定的 n 次。 例如o{2} 不能匹配 Bob 中的 o,但是能匹配 food中的oo
{n,} n 是一个非负整数。至少匹配n 次。 例如o{2,} 不能匹配 Bob 中的 o,但能匹配 foooood 中的所有 oooooo。‘o{1,}’ 等价于 ‘o+’。‘o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。 例如o{1,3}将匹配 fooooood 中的前三个 ooo。‘o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。
( ) 标记一个子表达式的开始和结束位置。即分组匹配。
[ ] 符合 [ ]中的任一字符就匹配。例如a[bcd]f可以匹配acf, 但不能匹配agf
| 指明两项之间的一个选择。例如s|\d+可以匹配出ab526

二.预定义字符

字符 描述 规则 结果
\d \d匹配任何十进制数,它相当于类[0-9] \d+如果需要匹配一位或者多位数的数字时用 a\dc a1c
\D \D匹配任何非数字字符,它相当于类[ ^0-9 ] a\Dc abc
\s \s匹配任何空白字符,它相当于类[\t\n\r\f\v] a\sc a c
\S \S匹配任何非空白字符,它相当于类[ ^\t\n\r\f\v ] a\Sc abc
\w \w匹配包括下划线在内任何字母数字字符,它相当于类[a-zA-Z0-9_] a\wc abc
\W \W匹配非任何字母数字字符包括下划线在内,它相当于类[ ^a-zA-Z0-9_ ] a\Wc a c

三.python中re模块常用函数

re.findall() 匹配所有符合规则的字符串

语法:

findall(pattern, string, flags=0)
# pattern: 正则模型
# string : 要匹配的字符串
# falgs : 匹配模式

re.match() 从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None

语法:

match(pattern, string, flags=0)
# pattern: 正则模型
# string : 要匹配的字符串
# falgs : 匹配模式

re.search() 浏览全部字符串,直到匹配出第一个符合规则的字符串

语法:

search(pattern, string, flags=0)
# pattern: 正则模型
# string : 要匹配的字符串
# falgs : 匹配模式

注意:search()和match()的区别

match() 从第一个字符开始匹配, 如果第一个字符不匹配就返回None, 不再继续匹配。

search() 在整个字符串查找,直到找到一个匹配的字符。

re.split() 根据正则匹配分割字符串,返回分割后的一个列表

语法:

split(pattern, string, maxsplit=0, flags=0)# pattern: 正则模型
# string : 要匹配的字符串
# maxsplit:指定分割个数
# flags  : 匹配模式

re.sub() 替换匹配成功的指定位置字符串

语法:

sub(pattern, repl, string, count=0, flags=0)# pattern: 正则模型
# repl   : 要替换的字符串
# string : 要匹配的字符串
# count  : 指定匹配个数
# flags  : 匹配模式

关于正则表达式的简单记忆相关推荐

  1. GNU/Linux平台上正则表达式的简单使用

    友情提醒:本博文涉及的内容中涉及到的系统实践操作在Centos6.5上实现,GNU/Linux简称为linux,GNU/grep简称为grep,GNU/sed简称为sed,GNU/gawk简称为awk ...

  2. python 长度为8-10位的用户密码 : 包含数字字母下划线 正则表达式(简单易懂,代码可以指运行)

    python 长度为8-10位的用户密码 : 包含数字字母下划线 正则表达式(简单易懂,代码可以指运行) 用\w,[0-9a-zA-Z_]都可以匹配上去嗷~~,直接上代码: #匹配8-10位用户密码: ...

  3. 正则表达式的简单用法+利用正则表达式检验身份证号码格式

    正则表达式最简单的用法就是用来判断一个字符串是否符合某种表达式,可以用正则表达式判断字符串是否属于电话号码,是否属于身份证号.... 使用正则表达式的步骤很简单: 首先:规定正则表达式, String ...

  4. hdu1978 简单记忆化搜索

    题意: How many ways Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...

  5. Python正则表达式,简单20个用例学习

    import re 1 查找第一个匹配串 s = 'i love python very much' pat = 'python' r = re.search(pat,s) print(r.span( ...

  6. JavaScript正则表达式快速简单的指南

    Interested in learning JavaScript? Get my ebook at jshandbook.com 有兴趣学习JavaScript吗? 在jshandbook.com上 ...

  7. 全网最新正则表达式总结- 简单 便捷 (适用于新手学习正则表达式,老手巩固学习正则表达式)

    什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子. 一个正则表达式是在一个主体字符串中从左到右匹配字符串时的一种样式. "Reg ...

  8. python中正则表达式的简单应用_Python正则表达式详细应用

    原文地址:http://www.jb51.net/article/65286.htm 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合, ...

  9. java正则匹配英文句号_java正则表达式最简单 学习教程

    本大教程以一个验证手机号的表达式为例,学完本例后,基本上所有的表达式都能看懂了,但是如果想要达到上手就能写的程度,还需要多练习多测试 呀! 来看 这样一个代码 String mobilePhoneRe ...

最新文章

  1. Django视图之状态保持
  2. Python argparse
  3. 阶梯到XML:1级 - XML简介
  4. 【Web】JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。 - CSDN博客
  5. 爱因斯坦提出的逻辑性问题_提出正确问题的重要性
  6. 卸载linux订阅包
  7. Eclipse简明使用教程(java集成开发环境)
  8. 咸阳强生告诉你吃什么食物养胃效果好
  9. 【LOJ6198】谢特(后缀自动机)(01Trie)(dsu on tree)
  10. 2021秋招IC验证面经-华为/英伟达/兆易创新/ZeKu
  11. Android app性能优化解决卡慢顿之布局优化
  12. 整流十五—网侧低频电流谐波抑制方法及其稳定性分析
  13. teamviewer检测到商业用途的解决办法(win7 win8 win10亲测) 修改teamviewerID
  14. 引擎选择:GameMaker
  15. php联想输入,联想笔记本电脑键盘功能基础知识
  16. 云服务器和云虚拟主机有什么区别
  17. 宽温Android触摸屏,7寸刷卡工控一体机支持IC/ID卡安卓触摸屏
  18. RabbitMQ消息队列工作原理及集成使用
  19. 严重性代码说明项目文件行禁止显示状态错误LNK2019无法解析的外部符号 main,函数 “int __cdecl invoke_main(void)“ (? invoke_main@@YAHX
  20. C语言:初识数组及数组的复制

热门文章

  1. MATLAB查看连续小波的形态和中心频率
  2. html页面栅格系统,详解CSS中的栅格系统
  3. 用CentOS 7打造合适的科研环境
  4. p-7-37英文单词排序
  5. 了解Case When
  6. 复杂的生活简单过,简单的事情重复做
  7. pip 更换源 国内源 阿里源
  8. 【音视频】音频采集-WASAPI(四)
  9. PPT的粘贴选项没有选项
  10. 苹果叶片病害检测论文