1、+ ? * {} 都只对前一个字符起作用 abc+ 指的是abc,abcc..不是abc,abcabc..
2、^和$有所不同,abc$指的是以abc结尾的字符串,而不是指以c为结尾
3、[]表示一组字符中的任意一个字符,[tb]表示t或者b,re.findall('[tb]','tb)=['t','b']
4、re.search表示检索整个字符串,返回第一个匹配的,re.match表示从字符串头部开始匹配,不管是哪种方式,只有匹配到了才可以group()
5、python中的正则表达式属于raw string(原生字符串),r'text',指的是不包含转义符字符串\,即原生字符串中的转义符\不被解释为转移符,python中也可以用string来表示字符串 r'\d{0,5}'等价于'\\d{0,5}',即若用string,正则表达式所有出现转义符\的地方都要加一个\\,当正则表达式中出现转义符时,最好使用原生字符串来表示正则表达式
6、正则表达式的两种用法:函数式用法(一次使用)和面向对象法(多次使用) 如:re.search(pattern,string)和pattern=re.compile(pattern) pattern.search(string) 即re.compile()将正则表达式的字符串形式编译为正则表达式对象
7、正则表达式默认是贪婪匹配(最长匹配)加上?后表示最小匹配
7170

被折叠的 条评论
为什么被折叠?



