(1) import re
(2) .号(点号)表示出了换行符之外的所有字符
re.search(r'love','i love you')
(3) 如果要匹配"."(点号)加上反斜杠"\",如:
re.search('\.','i love you.com')
<_sre.SRE_Match object; span=(10, 11), match='.'>
用\d
可以匹配一个数字,\w
可以匹配一个字母或数字
(4) 简易匹配ip地址
re.search(r'\d\d\d.\d\d\d.\d\d\d.\d\d\d','192.168.111.222')
(5)字符类[]
re.search(r'[aeiou]','I love you')
_sre.SRE_Match object; span=(3, 4), match='o'>
(6)"-" (下划线)表示范围
re.search(r'[0-9]','I love 123.com')
<_sre.SRE_Match object; span=(7, 8), match='1'>
(7)大括号{}里面的数字表示大括号前面的字符重复的次数,如:
re.search(r'ab{3}c','hello abbbcd')
<_sre.SRE_Match object; span=(6, 11), match='abbbc'>
3到10个b都会匹配
re.search(r'ab{3,10}c','abbbbc')
<_sre.SRE_Match object; span=(0, 6), match='abbbbc'>
(8)匹配IP地址:
re.search(r'(([01]{0,1}\d{0,1}\d{0,1}|2[0-4]\d||25[0-5])\.){3}([01]{0,1}\d{0,1}\d{0,1}|2[0-4]\d||25[0-5])','192.168.1.1')
(9)A|B 匹配表达式A或B,例如
re.search('L(i|y)','Li')
(10)^ 匹配输入字符串的开始位置
re.search(r'I lov','I love you')
(11)$匹配输入字符串的结束为止
re.search(r'ok$','i loe ok')
(12)\跟上数字,有两种表达方式,
12.1 数字在1-99范围内表示引用序列对应词组所匹配的字符串
re.search(r'(Lucy)\1','LucyLucy')
<_sre.SRE_Match object; span=(0, 8), match='LucyLucy'>
re.search(r'(Lucy)and(Lily)\2','LucyandLilyLily')
<_sre.SRE_Match object; span=(0, 15), match='LucyandLilyLily'>
12.2 如果跟着的数字是0开头或者3位的数字的长度,那么它是一个八进制数,八进制数字对于的ascii所对应的字符
re.search(r'(Lucy)\060','helloLucy0')
<_sre.SRE_Match object; span=(5, 10), match='Lucy0'>
re.search(r'(jackson)\141','jacksona')
<_sre.SRE_Match object; span=(0, 8), match='jacksona'>
(13)[]字符类里面的内容,都当成普通的字符(除了几个特殊的字符,-:表示范围;\:字符串的转义符)
13.1 re.search(r'[.]','hello baidu.com')
<_sre.SRE_Match object; span=(11, 12), match='.'>
13.2 特殊字符- re.findall(r'[a-z]','Hello')
['e', 'l', 'l', 'o']
13.3 特殊字符\
re.findall(r'[\n]','love you forever\n')
['\n']
13.4 特殊字符,脱字符^
13.4.1 表示取反(放在前面),表示不包括其中的任意字符
re.findall(r'[^a-z]','Love you!')
['L', ' ', '!']
还例如:
re.search(r'[^"]+\.jpg','"http://a.jpg')
<_sre.SRE_Match object; span=(1, 13), match='http://a.jpg'>
13.4.2 表示脱字符本身(放在后面)
re.findall(r'[a-z^]','My name is jack')
['y', 'n', 'a', 'm', 'e', 'i', 's', 'j', 'a', 'c', 'k']
14.字符重复{m,n},例如
re.search(r'Love{3}','Loveee you')
<_sre.SRE_Match object; span=(0, 6), match='Loveee'>
re.search(r'(love){3}','lovelovelovey')
<_sre.SRE_Match object; span=(0, 12), match='lovelovelove'>
15.正则表达式默认使用贪婪的模式:只要符合的条件下,会尽可能多的去匹配
s='<html><title>I love you</title></html>'
re.search(r'<.+',s)
_sre.SRE_Match object; span=(0, 38), match='<html><title>I love you</title></html>'>
15.1 启用飞贪婪模式
re.search(r'<.+?>',s)
<_sre.SRE_Match object; span=(0, 6), match='<html>'>
相关推荐
Python正则表达式全套笔记v0.3 本文档是小小明个人笔记,涵盖了正则表达式的各个方面,包括各种模式、分组、断言、匹配、查找、替换和切割等。文档中提供了详细的正则匹配规则表,涵盖了基本字符规则、预定义字符集...
Python正则表达式笔记 正则表达式是 Python 中的一种强大工具,用于匹配和处理字符串。下面是 Python 正则表达式笔记中的一些重要知识点: 1. 导入模块:在使用正则表达式之前,需要导入 re 模块。import re 2. ...
### Python正则表达式详解 #### 一、正则表达式概述 正则表达式(Regular Expression)是一种在计算机科学领域广泛使用的模式匹配工具。它主要用于处理文本数据,包括搜索、替换以及提取文本中的特定模式。许多...
Python正则表达式re模块简明笔记 本文将对Python的re模块进行详细的介绍,包括正则表达式的概念、re模块的使用、Pattern对象的方法、Match对象的属性和方法等。 一、正则表达式的概念 正则表达式(regular ...
这个压缩包“python正则表达式学习.zip”包含了对Python正则表达式的学习笔记,下面我们将深入探讨这一主题。 首先,我们需要了解什么是正则表达式。正则表达式(Regular Expression,简称regex)是一种特殊的字符...
python正则表达式笔记
总结,这份笔记提供了从基础到进阶的Python正则表达式知识,不仅适合有一定基础的开发者巩固提升,也是初学者深入理解正则表达式的好资料。配合实践案例和测试工具,能有效提高处理文本数据的能力。
### Python正则表达式re模块知识点详解 #### 一、正则表达式概念与应用场景 正则表达式(Regular Expression)是一种强大的文本处理工具,在文本搜索、文本替换、数据提取等多个场景有着广泛的应用。它能够帮助...
Python正则表达式re模块简明笔记(实用应用文)
正则表达式基础笔记,包括17种元字符 元字符转义,re模块基础函数
Python正则表达式是处理字符串的强大工具,它允许用户通过定义一系列规则来搜索、匹配和替换文本。Python的re模块就是用来处理正则表达式的一个标准库,它提供了一系列函数和方法以供开发者使用。re模块是任何需要...
Python正则表达式re模块简明笔记(实用应用文).doc
这个压缩包文件“Python正则表达式的学习记录.zip”可能包含了作者在学习过程中编写的代码示例、笔记或者教程,虽然具体的文件内容无法直接查看,但我们可以根据常规的正则表达式学习路径来讨论相关知识点。...
学习笔记:Python爬虫正则表达式.doc
在实际应用中,正则表达式不仅用于Java,还广泛应用于Python、JavaScript、C#等编程语言,甚至在许多文本编辑器和命令行工具中也有广泛的应用。例如,在JavaScript中,你可以直接在字符串方法`match()`、`replace()`...
Python中的正则表达式是通过内置的`re`模块实现的,它允许程序员处理和匹配字符串,以查找、替换或提取特定模式。正则表达式并非独立的程序,而是一种模式,需要在支持它的工具或编程语言中使用。在Python中,我们...