初识正则表达式

初识:

正则表达式不是Python当中内置的语法和规则,它是一门独立的语言。正则表达式只和字符串相关,在Python中使用正则表达式需要调用re模块;

知识点:

  字符组:[字符组]

在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示

字符分为很多类,比如数字、字母、标点等等。

假如要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。

例如:

[0123456789]
一个位置只能出现这个字符组当中的一个,比如‘1’,这是正确的。如果是‘123456’,那么这里面是有6个结果
[0-9]
'-'表示范围,[0-9]表示这个字符组里枚举合法的所有字符,和[0123456789]作用相同
[a-z]
和数字的原理一样,如果要匹配所有的小写字母,直接用[a-z]就可以表示

[A-Z]
和小写字母原理一样

[A-z]
在asciii码值当中,大写字母排在小写字母前面,并且大写字母后边不是立即跟随小写字母,而是两者之间有几个特殊符号

所有[z-A]为错误表达式
只能从大到小
所有的表达式还可以结合起来
[0-9a-zA-Z]
所有的数字和大小写字母都能够匹配,还可以设置其它范围,例如[5-9g-zA-F]

字符:

  常用元字符:

. 匹配换行符以外的任意字符
w 匹配数字、字母或者下划线
s 匹配任意的空白符空格、回车、Tab
d 匹配任意数字
匹配制表符:Tab

匹配换行符
 匹配一个单词的结尾
^ 匹配字符串的开始
$ 匹配字符串的结尾
a|b 匹配a或者b
() 匹配括号内的表达式,表示一个组
[] 匹配字符组中的字符

 

常用反义词:

W 匹配非字母、数字和下划线的汉字字符
D 匹配任意非数字字符
S 匹配任意非空白符的字符
B 匹配不是单词开头或结束的位置
^x 匹配除了x以外的任意字符
^aeiou 匹配除了aeiou这几个字母以外的任意字符

转义符:

  匹配正则表达式的关键字,如: ,,w,s等需要加上转义符‘’,即‘\n’,'\b'……

 

贪婪匹配:

<.*> 匹配<>之间的所有字符
<.*?> 匹配第一个<>之间的所有字符
原文地址:https://www.cnblogs.com/aizhinong/p/11419888.html