标签:
(一)正则表达式及语法简介
(二)Java正则表达式的简单用法
1 System.out.println(Pattern.matches("a\\wb", "a_b")); // 输出:true 2 Pattern p = Pattern.compile("a*b"); 3 Matcher m = p.matcher("aabzaaadaaafbc"); 4 System.out.println(m.matches()); // 输出:false
Matcher类的常用方法:
1 public static void test1() { 2 System.out.println(Pattern.matches("a\\wb", "a_b")); // 输出:true 3 4 Pattern p = Pattern.compile("a*b"); 5 Matcher m = p.matcher("aabzaaadaaafbc"); 6 7 System.out.println(m.matches()); // 输出:false 8 System.out.println(m.find()); // 输出:true 9 System.out.println(m.group()); // 输出:b 10 System.out.println(m.start()); // 输出:2 11 System.out.println(m.end()); // 输出:3 12 System.out.println(m.lookingAt()); // 输出:true 13 m.reset("zab"); 14 System.out.println(m.lookingAt()); // 输出:false 15 } 16 17 public static void test2() { 18 Matcher m = Pattern.compile("\\w+").matcher("Java is very easy!"); 19 20 while (m.find()) { 21 System.out.println(m.group() + "子串的起始位置:" + m.start() + ",结束位置:" 22 + m.end()); 23 } 24 25 int i = 0; 26 while (m.find(i)) { 27 System.out.print(m.group() + "\t"); 28 i++; 29 } 30 31 // 输出: 32 // Java子串的起始位置:0,结束位置:4 33 // is子串的起始位置:5,结束位置:7 34 // very子串的起始位置:8,结束位置:12 35 // easy子串的起始位置:13,结束位置:17 36 // Java ava va a is is s very very ery ry y easy easy asy sy y 37 } 38 39 public static void test3() { 40 String[] mails = { "Jiayongji@163.com", "Jiayongji@gmail.com", 41 "jy@hust.org", "wawa@abc.cc" }; 42 String mailRegEx = "\\w{3,20}@\\w+\\.(com|cn|edu|org|net|gov)"; 43 Pattern mailPattern = Pattern.compile(mailRegEx); 44 45 Matcher mailMatcher = null; 46 47 for (String mail : mails) { 48 if (mailMatcher == null) { 49 mailMatcher = mailPattern.matcher(mail); 50 } else { 51 mailMatcher.reset(mail); 52 } 53 54 System.out.println(mail + (mailMatcher.matches() ? "是" : "不是") 55 + "一个合法的邮箱地址"); 56 } 57 58 // 输出: 59 // Jiayongji@163.com是一个合法的邮箱地址 60 // Jiayongji@gmail.com是一个合法的邮箱地址 61 // jy@hust.org不是一个合法的邮箱地址 62 // wawa@abc.cc不是一个合法的邮箱地址 63 64 } 65 66 public static void test4() { 67 Matcher m = Pattern.compile("\\bre\\w*").matcher( 68 "Java is real good at inrestart and regex."); 69 System.out.println(m.replaceAll("哈哈")); 70 71 // 输出: 72 // Java is 哈哈 good at inrestart and 哈哈. 73 74 }
(完)
标签:
原文地址:http://www.cnblogs.com/jiayongji/p/5613846.html