文章目录
1.正则表达式笔记
[...]
可以表示范围内搜索(字符组),比如 初级:9
===> re.search(r'[0-1]',9)
<re.Match object; span=(0, 1), match='9'>
高级:245
===>re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','245')
<re.Match object; span=(0, 3), match='245'>
[^..]
排除型字符组 例子:abc re.search(r'[^a]','abc')
===> <re.Match object; span=(1, 2), match='bc'>
{}
表示匹配的字符出现的次数,比如 :abb
===> re.search(r'ab{2}','abb')
<re.Match object; span=(0, 3), match='abb'>
结合实例:ip地址:187.164.221.123
====>> re.search(r'(([01]{0,1}\d{0,1}\d|2{0,1}[0-4]{0,1}\d|2{0,1}5{0,1}[0-4])\.){4}','187.564.321.123')
<re.Match object; span=(0, 15), match='187.164.221.123'>
188.156.1.1
====>> re.search(r'(([01]{0,1}\d{0,1}\d|2{0,1}[0-4]{0,1}\d|2{0,1}5{0,1}[0-4])\.){3}([01{0,1}\d{0,1}\d|2{0,1}[0-4]{0,1}\d|2{0,1}5{0,1}[0-4])','188.156.1.1')
<re.Match object; span=(0, 11), match='188.156.1.1'>
.
匹配任意字符 例子:re.search(r'.+','the.1.the.2')
----> <re.Match object; span=(0, 11), match='the.1.the.2'>
?
表示前面的字符出现0次或者1次 例子: re.search(r'a[0-9]?','a')
-----> <re.Match object; span=(0, 1), match='a'>
<re.Match object; span=(0, 1), match='a1'>
<re.Match object; span=(0, 2), match='a1'>
+
表示任意次数(至少一次) 例子:re.search(r'the+','theeeee') or re.search(r'the+','thee') or re.search(r'the+','th')
-----> <re.Match object; span=(0, 7), match='theeeee'> or <re.Match object; span=(0, 7), match='thee'>
*
表示出现任意次数 例子:re.search(r'the*','th')
------><re.Match object; span=(0, 2), match='th'>
$
匹配一行结尾的位置
^
匹配一行开始的位置
<
匹配单词开始的位置
>
匹配单词结尾的位置