正则表达式 五 边界匹配器 email验证正则表达式
时间:2010-07-18 来源:phoebird
package com.cn.regExp; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestRegExp { public static void p(Object o) { System.out.println(o); } public static void main(String[] args) { //初步认识 .* + ? //.表示一位字符,* 表示零个或多个,+ 表示一个或多个,? 表示一个或零个 // p("a".matches("."));//true,匹配一个字符任何字符 // p("a".matches("a"));//true,匹配一个 // // p("".matches("a*"));//true,匹配零个 // p("aaaaaaaaaaaaaaa".matches("a*"));//true,匹配多个 // // p("a".matches("a+"));//true,匹配一个 // p("aaaaaaaaaaaaaaaaaaaa".matches("a+"));//true,匹配多个 // // p("a".matches("a?"));//true,匹配一个 // p("aaaaa".matches("a?"));//false,匹配多个 // p("".matches("a?"));//true,匹配零个 // // // //X{n} X,恰好 n 次 // p("aa".matches("a{2}"));//true,恰好2次a // //X{n,} X,至少 n 次 // p("aaaaaaaaaa".matches("a{5,}"));//至少5次,最多无限 // //X{n,m} X,至少 n 次,但是不超过 m 次 // p("123333333337628383".matches("\\d{5,100}"));// \\d表示数字 ,匹配数字至少3位最多不超过100位 // // // p("aaa.168.0.15".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//false,验证数字至少1位,最多3位,之间用.分开 // p("192.168.0.15".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//true // p("192".matches("[0-2][0-9][0-9]"));//true []表示范围,[0-2]表示在0到2范围内一个数字,[0-9]表示在0到9范围内一个数字 // []表示范围,一个中括号匹配一个字符 // p("a".matches("[abc]"));// true ,匹配中括号内有一个a // p("a".matches("[^abc]"));//false,匹配除了abc以外的任意字符 // p("a".matches("[a-zA-Z]"));//true,匹配小写的a-z或者大写的A-Z范围内一个字符 // p("a".matches("[a-z | A-Z]"));//true 匹配小写的a-z或者大写的A-Z范围内一个字符 // p("a".matches("[a-z[A-Z]]"));//true 匹配小写的a-z或者大写的A-Z范围内一个字符 // p("R".matches("[A-Z && [RGB]]"));//true 必须在A-Z范围内并且是RGB范围中的一个 //认识 \w 单词字符:[a-zA-Z_0-9] \W 非单词字符:[^\w] //\d 数字:[0-9] \D 非数字: [^0-9] //\s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] // p(" \n\r\t\f".matches("\\s{5}"));//true,匹配5个空白字符 // p(" ".matches("\\s"));//true,匹配一个空白字符 // p(" ".matches("\\S"));//false,匹配一个非空白字符 // p("a_9".matches("\\w{3}"));//true,匹配3位字符组成的单词 // p("$_%".matches("\\w{3}"));//false // p("abc866666%&^#".matches("[a-z]{1,3}\\d+[&%^#]+"));//true,a-z 出现1次到3次,数字出现一次或多次,&%^# 出现一次或多次 // p("\\abc".matches("\\\\[a-z A-Z]{1,3}"));//true,正则表达式匹配一个反斜线必须用\\ //认识边界匹配器 // ^ 行的开头 $ 行的结尾 \b 单词边界 \z 输入的结尾 // \B 非单词边界 \A 输入的开头 \G 上一个匹配的结尾 \Z 输入的结尾,仅用于最后的结束符(如果有的话) //匹配以h开头的紧跟a-z的字符出现1到3次,后接o的单词边界,后面为零个或者多个任意的字符 p("hello world".matches("^h[a-z]{1,3}o\\b.*"));//true p("hello world".matches("^h.*d$"));//true,匹配以h开头的后接任意零个或者多个以d结尾的字符 p("helloWorld".matches("^h[a-z]{1,3}o\\b.*"));//false //空白行匹配 p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));//true,以空白符开头并且不是空白行的零个或者多个以空白行结束 //邮件匹配 p("[email protected]".matches("\\w+@(\\w+.)+[a-z]{2,3}"));//true p("[email protected]".matches("\\w+@(\\w+\\.)+[a-z]{2,3}"));//true } }
相关阅读 更多 +