前言:这一篇内容挺多。尽量写的有条理一点。。。。
1、正则:
正则大概可以分为元字符和量词两种:
其中元字符主要有:\d \w \s \n \t \b \W \D \S . ^ $ [] [^] | ()
量词主要有: ? + * {n} {n,} {n,m}
# 元字符 """ 1、 \w 匹配数字字母下划线 word关键字[a-zA-Z0-9] 2、 \d 匹配所有的数字 digit [0-9] 3、 \s 匹配所有的空白符号 回车,制表符,空格 space 匹配换行符号 \n 匹配制表符 \t 匹配空格 直接空格 \W \D \S 和 \w \d \s 取反 [\s\S][\d\D][\w\W]是三组全集,意思是匹配所有字符 \b 表示单词的边界 ^ 匹配一个字符串的开始 $ 匹配一个字符串的结束 . 匹配除换行符之外的所有字符 [] 表示出现在中括号内的内容都可以被匹配 [^] 表示不出现在中括号中的内容都可以被匹配 有一些有特殊意义的元字符进入字符组中会回复它本来的意义。: . | [] () a|b 或 符合a规则或者b规则的都可以被匹配 如果a规则是b规则的一部分,且a规则比b规则要苛刻,就把a规则写在前面 将更复杂\更长的规则写在最前面 () 分组 表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组 """ # 量词 ''' {n} 表示这个量词之前的字符出现n次 {n,} 表示这个量词之前的字符至少出现n次 {n,m} 表示这个量词之前的字符出现n-m次 ? 表示匹配量词之前的字符出现0次或者1次 表示可有可无 + 表示匹配量词之前的字符出现1次或者多次 * 表示匹配量词之前的字符出现0次或者多次 '''
几个字符的组合关系:
字符/元字符:只约束一个字符
字符+量词:约束一个字符连续出现的次数
字符+量词+?:约束一个字符连续出现的最少出现次数
字符+量词+?+x:约束一个字符连续量词范围内的最少次数,遇到x就立即停止