一、元字符
二、转义字符
正则表达式用反斜杠字符(" \ ")来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。正则表达式特殊符号:
. * ? $ ‘‘ "" [] {} () \ ^
例如匹配特殊字符 . 时使用\. 表示点的本身含义:
In:re.findall(‘-?\d+\.?\d*‘,"123,-123,1.23,-1.23")
Out:[‘123‘,‘-123‘,‘1.23‘,‘-1.23‘]
raw字符串:raw字符串称为原始字符串。在python中在普通字符串前加r即可,如:r"\n" 就是表示“\” 和“n”两个字符,不是换行
三、贪婪与非贪婪:默认正则表达式就是贪婪模式,尽可能多的匹配,
非贪婪模式:就是在元字符后面加个?,让匹配重复的原字符尽可能少的向后匹配内容
如:*? +? ??,{m,n}?
四、正则表达式分组:通过()来表示分组
作用:1子组可以改变重复元字符的操作对象
2子组在某些操作中可以对子组匹配内容单独提取
五、捕获组与非捕获组:默认是非捕获组,捕获组用 (?P<name>...)定义,(?P=name)则是对命名组的逆向引用。
原文:https://www.cnblogs.com/libotao/p/14657081.html