1、简单匹配:

  • \d  →匹配一个数字
  • \w →匹配一个数字或字母
  • \s  →匹配一个空格(包括tab等空白符)
  • .    →匹配任意字符
  • *   →匹配任意个字符(包括0个)
  • +  →匹配至少一个字符
  • {n}→匹配n个字符
  • {n,m}→匹配n到m个字符

2、进阶匹配:

  • []    →表示范围,如[0-9a-zA-Z]可以匹配一个数字或一个字母
  • []+ →表示匹配至少一个
  • []*  →表示匹配任意个,如[0-9a-zA-Z]*可以匹配任意个数字或任意个字母
  • []{n,m}→表示匹配n到m个
  • A|B →表示既可以匹配A,也可以匹配B
  • ^    →表示匹配的开头
  • $    →表示匹配的结束
  • ()    →表示分组

3、re模块:

最基本的使用:

import re
re.match(r'正则表达式','待匹配的字符串')
#匹配成功,返回一个Match对象。不然,返回None

编译后再匹配:

import re
re_compile = re.compile(r'正则表达式')
re.match('待匹配字符串')

4、其他用途(待补充):

  • 匹配分割字符串,re.split(),如去除空格与一些其他的符号:
# 去除空格
import re
a_str = 'a b c'
a_str_out = re.split(r'\s+', a_str)
print(a_str_out)
#['a','b','c']
b_str = 'a b , c ,;d'
b_str_out = re.split(r'[\s\,\;]+', b_str)
#['a','b','c','d']
  • 分组,match.group(),group(0)是原始字符,group(1),group(2)...对应后续的每一个分组()
import re
a_str = '111-11111'
a_match = re.match(r'(\d{3})-(\d{5})',a_str)
a_match.group(0)
# '111-11111'
a_match.group(1)
# '111'
a_match.group(2)
# '11111'

5、需要注意的

  • 为了不被字符串转义的问题困扰,建议使用Python的r前缀。即r''
  • 正则表达式的匹配是贪婪匹配。实现非贪婪匹配用?

对于 120300,r'^(\d+)(0*)$' 匹配后的分组为(‘120300’,‘’)

而  r'^(\d+?)(0*)$' 匹配后的分组为('1203', '00')

\d+会尽可能多的匹配,\d+?会尽可能少的匹配

看了廖老师的正则表达式模块后,因为经常容易忘记一些语句,所以写下博文方便日后回顾。感谢廖老师!

参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017639890281664

python-1:正则表达式(基础知识点)的更多相关文章

  1. python里正则表达式基础及注意事项

    感觉正则匹配是一件很酷的事,用得好的话可以极大地提高编程效率.虽然在html中BeautifulSoup更好用一些,但有时候还是需要使用正则匹配.所以就此做一些学习和使用过程中的笔记. python有 ...

  2. Python爬虫-正则表达式基础

    import re #常规匹配 content = 'Hello 1234567 World_This is a Regex Demo' #result = re.match('^Hello\s\d\ ...

  3. Python之部分基础知识点汇总

    1.三元运算(又称三目运算) 三元运算(又称三目运算),简单条件语句的简写    if a<b: A    else: B等价于:A if a<b else B 2.

  4. 正则表达式基础---转自 Python正则表达式指南 前边

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  5. python正则表达式基础篇

    1.正则表达式基础 1.1简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大 ...

  6. python正则表达式基础,以及pattern.match(),re.match(),pattern.search(),re.search()方法的使用和区别

    正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子字符串. 将匹配的子字符串替换或者从某个字符串中取出符合某个条件 ...

  7. Python正则表达式-基础

    Python正则表达式-基础 本文转载自昔日暖阳,原文地址:http://www.osheep.cn/4806.html python使用正则,需要先引入re模块 import re 匹配符 单个字符 ...

  8. Python正则表达式基础

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  9. Python正则表达式基础指南

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  10. Python爬虫入门有哪些基础知识点

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

随机推荐

  1. BZOJ 4814 Luogu P3699 [CQOI2017]小Q的草稿 (计算几何、扫描线、set)

    题目链接 (BZOJ) http://lydsy.com/JudgeOnline/problem.php?id=4814 (Luogu) https://www.luogu.org/problem/P ...

  2. $message的问题

    项目中出现$message的问题: 拉取数据成功后 this.$message.success("数据拉取成功")点击拉取第一次不出现,但是代码执行了,后来多次点击就出现了 原因: ...

  3. Vue_(组件通讯)单项数据流

    Vue单项数据流 传送门 单向数据流:父组件值的更新,会影响到子组件,反之则不行 修改子组件的值: 局部数据:在子组件中定义新的数据,将父组件传过来的值赋值给新定义的数据,之后操作这个新数据 如果对数 ...

  4. POJ 3694 Network ——(桥 + LCA)

    题意:给n个点和m条边,再给出q条边,问每次加一条边以后剩下多少桥. 分析:这题是结合了LCA和dfn的妙用._dfn数组和dfn的意义不一样,并非访问的时间戳,_dfn表示的是被访问的顺序,而且是多 ...

  5. PHP依赖管理工具Composer入门

    作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/manage-php-dependency-wi ...

  6. parse_url小结

    本篇文章对parse_url进行一个小结 0x01:parse_url $url = "/baidu.com:80"; $url1 = "/baidu.com:80a&q ...

  7. tp5更改入口文件到根目录的方法分享

    tp5把入口文件放到了public目录中,对于服务器或者vps来说没啥,因为可以指定目录,但是对于虚拟主机就不行了,我们必须吧index.php这入口文件放到根目录,那么我么需要改一下相对的引入文件的 ...

  8. android data binding jetpack III 绑定一个方法

    第三篇 给view绑定一下方法响应. (补充:1.被绑定的方法必须是public的.   1.绑定方法可以用主语法.也可以用以下双冒号方式“::” android:onClick="@{pr ...

  9. java list对象按照某个属性去重

    /** * 去重 * * @param orderList * @return * @author jqlin */ private static List<ansVo> removeDu ...

  10. leetcode315 计算右侧小于当前元素的个数

    1. 采用归并排序计算逆序数组对的方法来计算右侧更小的元素 time O(nlogn): 计算逆序对可以采用两种思路: a. 在左有序数组元素出列时计算右侧比该元素小的数字的数目为 cnt=r-mid ...