python学习笔记3----正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记3----正则表达式相关的知识,希望对你有一定的参考价值。

 正则表达式(RE)是通过re模块来实现的。

字符匹配:

--普通字符:

*大多数字母和字符一般都会和自身匹配。

--元字符:. ^ $ * + ? {}  [] \\ | ()

[]: 

通常用来指定一个指标集。其中的任何一个都可以进行匹配。[0-9],[a-zA-Z0-9],[a-z]

元字符在字符集中不起作用。

补集匹配不在区间范围内的字符。

^:

通常用来指定行首。

$:

通常用来指定行尾。

\\:

反斜杠取消后面的元字符的特殊意思。

反斜杠后面加上不同的字符表示不同特殊意义。

技术分享

{m,n}:

把前面的规则重复的次数。最少的次数,重复的次数,重复m到n次。

* :

把前面的字符重复多次,包括0到多次。

+: 

前面的字符最少出现一次。

?:

前面的字符出现0次或者一次。

可以用来实现最小匹配。

{0,}和*等同

{1,}和+等同

{0,1}和?等同

 

 

正则表达式的编译:

import re

p= re.compile(r"^ad");

p是一个正则表达式的对象

p.findall("absd")

 

常用方法:

match():如果在字符串开始位置找到就返回一个对象,没有找到就返回空。

search(): 扫描字符串,找到这个re匹配的位置。

技术分享

技术分享

把soucrString中的符合正则表达式的替换成newStr.,count是替换次数。

re.sub(re,"newStr",sourceString)

re.subn(re,"newStr",sourceString):最后一个值表示替换的次数。

用re来切割s:

re.split(re, s)

 

技术分享

 

 

分组:

分组一般是用小括号括起来,如果正则表达式中包含分组,则会返回分组匹配的部分,而不是返回全部正则表达式匹配的字符。

 

以上是关于python学习笔记3----正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

《python核心编程》——正则表达式学习笔记(课后练习)

python学习笔记9:正则表达式

Python学习笔记之正则表达式

《python核心编程》——正则表达式学习笔记

Python学习笔记__11章 正则表达式

python 学习笔记day09-pythonz正则表达式socket模块