一开始我的确正则表达式头疼。不过去网上看了一些文章,其实正则并不是很难,因此记录下学习心得。
1、符号 ^ 和 $ 分别用来匹配字符串的开始和结束:
“^page” | 开头一定要有 page 字符串 | page=2; page=3&action=list;… |
“=add$” | 结尾一定要有 =add 的字符串 | action=add; age=18&do=add;… |
“^index$ | 以abc开头和以abc结尾的字符串 | index(实际上只有这个结果) |
“read” | 匹配包含read的字符 | action=read&export;… |
2、大括号{n,m},其中n<m,当m存在时候:
{n,m},匹配前面字符出现的次数为n-m次
当m不存在时:
{n,}匹配前面字符出现次数大于等于n次
{n}匹配前面字符出现等于n次
“you{2}” | o后面一定要跟2个u(一个也不能少) | youu |
“you{2,}” | o后面至少要跟2个u | youu;youuu;… |
“you{2,4}” | o后面至少要跟2-4个u | youu;youuu;youuuu; |
3、符号 * 匹配前面字符出现0次或者多次;相当于{0,}
符号 + 匹配前面字符出现1次或者多次;{1,}
符号 ? 匹配前面字符出现0次或者1次;{0,1}
要点:’*’ ‘+’ 和 ‘?’ 只管它前面那个字符。
“you*” | o后面一定要跟0个或者多个u | yo;you;youu;… |
“you+” | o后面至少要跟1个或者多个u | you;youu;youuu;… |
“you?” | o后面至少要跟0个或者1个u | yo;you |
“yo+u?” | 至少1个以上o后跟着0个或者1个u | you;yoou;yo;yooo;… |