1、字母:匹配单个字母
(1)A:表示匹配字母A;
(2)\\:匹配转义字符“\”;
(3)\t:匹配转义字符“\t”;
(4)\n:匹配转义字符“\n”;
2、一组字符:任意匹配里面的一个单个字符:
(1)[abc]:表示可能是字母a,可能是字母b或者是字母c;
(2)[^abc]:表示不是字母a,字母b,字母c的任意一个;
(3)[a-zA-Z]:表示全部字母中的任意一个;
(4)[0-9]:表示全部数字的任意一个;
3、边界匹配:在以后编写JavaScript的时候使用正则中要使用到:
(1)^:表示一组正则的开始;
(2)$:表示一组正则的结束;
4、简写表达式:每一位出现的简写标记也只表示一位:
(1)· :表示任意的一位字符;
(2)\d :表示任意的一位数字,等价于“[0-9]”;
(3)\D :表示任意的一位非数字,等价于“[~0-9]”;
(4)\w :表示任意的一位字母、数字、_,等价于“[a-zA-Z0-9_]”;
(5)\w :表示任意的一位非字母、数字、_,等价于“[^a-zA-Z0-9_]”;
(6)\s :表示任意的一位空格,例如:\n、\t等;
(7)\S :表示任意的一位非空格;
5、数量表示:之前所有的正则都只是表示一位,如果要表示多位,则就需要数量表示。
(1)正则表达式?:此正则出现0次或1次;
(2)正则表达式*:此正则出现0次、1次或多次;
(3)正则表达式+:次正则出现1次或多次;
(4)正则表达式{n}:此正则出现正好n次;
(5)正则表达式{n,}:此正则出现n次以上;
(6)正则表达式{n,m}:此正则出现n – m次。
6、逻辑表示:与、或、非
(1)正则表达式A正则表达式B: 表达式A之后紧跟着表达式B;
(2)正则表达式|A正则表达式B: 表示表达式A或者表达式B,二者任选一个出现;
(3)(正则表达式):将多个子表达式合成一个表示,作为一组出现。
made by HeYang
2014/12/24
Demo:
package bao1;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test3 {
public static void main(String[] args) {
//原字符, 待替换字符
String str = " ashgslf ";
//1.编译正则表达式
//Pattern pat = Pattern.compile("\\s*", Pattern.CASE_INSENSITIVE);//忽略大小写
Pattern p = Pattern.compile("\\s*");
//2.匹配原字符
Matcher m =p.matcher(str);
//3.正则表达式是否与整个字符串匹配
boolean rs = m.matches();
System.out.println(rs);
//4.查找字符串中是否有匹配正则表达式的字符
boolean rs2 = m.find();
System.out.println(rs2);
//3.替换为
String result = m.replaceAll("");
//打印结果
System.out.println(str);
System.out.println(result);
}
}