[20] 匹配0或者2开头
[Pp] 即可匹配python Python
[0-9] 匹配所有数字
[a-z] 匹配所有小写字母
[0-9a-z] 也可以相结合着来用即匹配所有数字和小写字母
[ \-\$\%] 当出现$%#&等符号时 要加\
[^0-9] 当^出现在括号里面时,表示出0-9之后的所有
^[0-9] 在括号外面时,表示开头
[0-9]$ 表示结尾 $是结尾符号
快捷方式
\w 匹配所有字母和数字
\W 不匹配所有的字母和数字 w和W相反
\d 取数字
\D 取非数字
\s 取空格
\S 取非空格
\bxxx\b xxx前后区间
. 取任何数值
* 取0到无穷个数值
? 可有可无 例如 [favou?rite] 其中u可有可无 可以匹配favorite favourite
{8} 取八个数值
{7,8}? 非贪婪模式 取最少的数值
| 或者
(\b(?:\w{2}|\w{4})\b) 非捕获分组(?:) 即就是不取这个分组里面的东西
\w\w\2\1 分组的回溯引用 \2取第二个分组的数值 \1即取第一个分组的数值
(?=你)喜欢 正向先行断言 前面必须有你 但是只显示后面的喜欢
(?!你)喜欢 反向先行断言 前面必须没有你 但也是显示喜欢
(?<=我)喜欢(?=你) 从左到右
(?<!我)喜欢(?!你) 也是从左到右匹配的意思
下面推荐两个个练习正则的网址 可以练习上面的题加以巩固
编程胶囊-打造学习编程的最好系统 这个是练习习题