python正则表达式个人总结

一些基本用法:记录一下,以备不时之需

字符匹配:

1:普通字符。
    大多数字母和字符一般都会和自身匹配
2:元字符:
  . 任意一个字符(换行符除外)
  ^ 匹配行首,放在要匹配字符串头部 r = r"^hello"
  $ 匹配行尾,放在字符串尾部 r = r"hello$"
  []常用来指定一个字符集[abc],[a-z],表示匹配其中任意一个字符即可,元字符在
    字符集中不起作用,在[]中出现^,写在开始处,表示补集匹配
  \ 将元字符转义成普通字符,也可以后面加不同的字符以表示不同的特殊意义
    \d ---[0-9]
    \D----[^0-9]
    \w----匹配任意字母数字[a-zA-Z0-9]
    \W----[^a-zA-Z0-9]
与重复相关:
    * 匹配前一个字符0次或更多次 r="ab*", a,ab,abbbb.
    + 匹配前一个字符一次或者多次
    ?匹配前一个字符0次或一次。
    贪婪模式 r = "ab+"  re.findall(r,"abbbbb"),默认返回abbbbb 最大匹配
    非贪婪模式 r = "ab+?" re.findadd(r,"abbbbb"),返回ab. 最小匹配
    {m,n} 至少m次,至多n次.
    {0,} == * {1,} == + {0,1} == ?
分组:
    email = "\w{3}@\w+(\.com)"
    re.findall(email,"[email protected]")  加上()只返回.com
    ()也可用于分组(\.com|\.cn)表示匹配.com或.cn

re模式还有一些参数可以指定。(re.I表示不区分大小写等,需要时上网查询即可)

你可能感兴趣的:(个人记录)