匹配格式^ 匹配字符串的开头$ 匹配字符串的结尾. 除了换行符外的所有字符[...] 用来表示一组字符,,单独列出:[amk]匹配‘a‘,‘m‘或‘k‘[^..] 不在[]中的字符:[^abc]匹配除了a,b,c之外的字符* 匹配0个或多个+ 匹配1个或多个? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式{n,} 精确匹配n个前面的表达式{n,m} 匹配n到m次由前面的正则表达式定义的片段,贪婪方式a|b 匹配a或b() 匹配括号内的表达式,也表示一个组\w 匹配字母数字\W 匹配非字母数字\s 匹配任意空白符\S 匹配任意非空白符\d 匹配任意数字\D 匹配任意非数字\A 匹配字符串开始\Z 匹配字符串结束,如果存在换行,只匹配换行前的结束字符串\z 匹配字符串结束\G 匹配最后匹配完成的位置\b 匹配一个单词的边界,也就是指单词和空格间的位置。例如, ‘er\b‘ 可以匹配"never" 中的 ‘er‘,但不能匹配 "verb" 中的 ‘er‘。\B 匹配非单词边界,‘er\B‘ 能匹配 "verb" 中的 ‘er‘,但不能匹配 "never" 中的 ‘er‘\n 匹配一个换行符\t 匹配一个制表符\1..\9 匹配第n个分组的子表达式 正则表达式常用5种操作:re.match(pattern,string) #从头匹配re.search(pattern,string) #直到找到一个匹配为止re.split() #按匹配分隔字符串re.findall(pattern,string) #找到所有的匹配,返回列表re.sub(pattern,repl,string,count) #找到所有匹配,并替换掉
时间: 2024-10-27 18:19:07