eg1: Pattern p = Pattern.compile("t.n"); Matcher m = p.matcher(“ton”); if(m.matches()){ return true; } eg2:boolean bool=Pattern.matches (“t.n”,”ton”); //如果一个正则表达式要重复利用,用第一种,如果只匹配一次,第二种是最佳选择。
11.1 8种模式:比如启用多行模式,启用unix模式等。eg1: int CASE_INSENSITIVE表示启用不区分大小写的模式。
11.2 4个静态方法
两个单例模式构造器: Pattern compile(String regex); Pattern compile(String regex,int flags)flags为八种模式的一种 eg2: Pattern p=Pattern.compile("[a-z]\\s[a-z]"); Matcher m=p.matcher("b c"); if(m.matches()) Sysout(1111); else Sysout(2222); //输出结果为1111; 一个匹配方法,一个返回String的字面值模式方法: boolean matches(String regex,CharSequence input);//input与regex匹配返回true。 String quote(String s);//返回指定String的字面值。 eg3: boolean bool=Pattern.matches("[a-z] [a-z]",”b c”); //结果为true Sysout(Pattern.quote(“a_#/tb”)); //输出结果为 “\Qa_# b”\E
11.3 6个普通方法
返回此模式的匹配器: Matcher matcher(CharSequence input); 返回此模式的标志: int flags(); 返回此模式的regex: String pattern(); 两个字符串切割方法:
String[] split(CharSequence input); String[] split(CharSequence input,int limit); limit为返回字符串的个数,如果等于0,返回所有 拆分的字符串,如果大于拆分字符串的实际个数,返回实际个数。 toString方法:String toString(); eg4: Pattern p=Pattern.compile("[,;\\s]"); String str="wo,ai;ni haha"; String[] strs=p.split(str); for(String s : strs){ Sysout(s);//输出 “wo” “ai” “ni” “haha” } strs=p.split(str,2) for(String s : strs){ Sysout(s);//输出 “wo” “ai;ni haha” } Strs=p.split(str,0) for(String s : strs){ Sysout(s);//输出 “wo” “ai” “ni” “haha” }
var reg = /^\d{11}$/; /^ 开始 $/ 结束 \d 表示匹配数字 {} 大括号里面写有几位数字,里面加逗号表示或者关系
var reg = /^\w+@\w+.\w{2,3}(.\w{2,3})?$/; 加号表示出现一次或多次,不是连字符!小括号里的内容是选择出现,后面要加问号! 身份证:var reg = /^\d{15}$|^\d{18}$|^\d{17}(X|x)$/; |表示或者 手机号:var reg = /^(182|135)\d{8}$/; 电话区号:var reg = /^\d{3}-\d{7,8}$/;
原文:https://www.cnblogs.com/zhaot1993/p/13037859.html