正则表达式学习笔记

A.(?=xx),(?<!xx),(?<=xx)
匹配示例:
str=11125aaeadc1a1c55;
1.str与正则"\d.{3}(?=aa)"匹配:先按正则"\d.{3}"进行匹配,要求此子串后面以aa开头,但结果并不会包含子串(1125)后面的aa,这就是非捕获组中“非”的意思,匹配的结果中含有1125;
2.str与正则"\d.{3}(?!aa)"匹配:先按正则"\d.{3}"进行匹配,要求此子串后面不以aa开头,但结果并不会包含子串(1125)后面的aa,匹配的结果中含有1112,5aae,1a1c;
3.str与正则"\d.{3}(?<!55)"匹配:先按正则"\d.{3}"进行匹配,要求此子串从最后一位往前看,不是以55开头的;匹配的结果中含有1112,5aae,1a1c;
4.str与正则"\d.{3}(?<=55)"匹配:先按正则"\d.{3}"进行匹配,要求此子串从最后一位往前看,是以55开头的,匹配的结果中含有1c55;

B.(?i)java 等价于 Pattern.compile("JAVA",Pattern.CASE_INSENSITIVE);对忽略待匹配字符串的大小写进行正则匹配;
匹配示例:
str="javaJAVAjAvaJAVaJaVA";
匹配的子串有:java JAVA jAva JAVa JaVA

posted @ 2016-09-09 20:22  akiradunn  阅读(146)  评论(0编辑  收藏  举报