[学习笔记]python之re模块-----正则表达式

时间:2021-07-05 22:40:54

正则表达式是可以匹配文本片段的模式

通配符:(.)
点号可以匹配任何字符(除了换行符),只能匹配一个字母,而不是两个或者零个

对特殊字符进行转义:
例如匹配’python.org’,匹配应该输入的是’python\\.org’或者r’python\.org’

字符集:
用字符集匹配字符可以这样写:’[a-zA-Z0-9]ython’则表示匹配任意大小写字母和数字(注意字符集只能匹配一个这样的字符)
‘^[abc]’反转字符集,即加了个脱字符(^),表示匹配除了a,,b,c之外的字符,如果^出现在字符集开头,那就需要转义,不然此符号表示字符集的开头,而不是否定运算符

选择符和子模式:
选择符:只想单独匹配字符串的时候 ‘python|perl’使用管道符号(|)用于选择项的特殊符号
也可以采用子模式的方式例如p(ython|erl)

可选项和重复子模式:
在子模式后面加上问号,他就变成了可选项。
例如:
r’(http://)?(www\.)?python\.org’

可以匹配下列字符:
http://www.python.org
http://python.org
‘www.python.org’
‘python.org’

(pattern)*:允许模式重复出现0次或者多次
(pattern)+:允许模式重复出现一次或者多次
(pattern){m,n}:允许模式重复出现m~n次

字符串的开始和结尾:
字符串开始使用脱字符(^),例如 ‘^ht+p’表示会匹配’http://www.python.org‘或者’httttttp.python.org’但是不能匹配’python.http.org’
字符串结尾用美元($)标识: