正则表达式
2016-12-04 18:21
288 查看
一,正则表达式概述
简单示例:
二,正则表达式语法
1,限定符
2,选择匹配符
3,特殊字符
4,字符匹配符
字符集合:就是用[ ]括起来的多个字符。如果里面有元字符,也要当成普通字符。
5,定位符
6,分组组合符
7,其他
简单示例:
package com.jackie.day12; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegularExpressionTest { public static void main(String[] args) { firstDemo(); // secondDemo(); //thirdDemo(); //System.out.println(testPhoneNumber("13927470685")); } // 查找字符串中"java"出现的次数 private static void firstDemo() { String str = "JAVAhellojava javahello ,Javahahajava"; // 把正则模式字符串编译成正则模式对象,忽略大小写 Pattern p = Pattern.compile("java",Pattern.CASE_INSENSITIVE); // 用这个模式串作用于目标字符串上,返回一个匹配器对象 Matcher matcher = p.matcher(str); // 使用匹配器来完成业务 int count = 0; while (matcher.find()) { count++; } System.out.println(count); } // 查找字符串中"中文字符"出现的次数 private static void secondDemo() { String str = "12hello你,我87java,android,58酒"; Pattern p = Pattern.compile("[\u4E00-\u9fa5]"); Matcher matcher = p.matcher(str); int count = 0; while (matcher.find()) { count++; } System.out.println(count); } // 把字符串中"中文字符"替换成"*" private static void thirdDemo() { String str = "12hello你,我87java,android,58酒"; Pattern p = Pattern.compile("[\u4E00-\u9fa5]"); Matcher matcher = p.matcher(str); String result = matcher.replaceAll("*"); System.out.println(result); } //判断传过来的数字是不是手机号码 private static boolean testPhoneNumber (String phoneNumber){ Pattern p = Pattern.compile("1[3578][0-9]{9}"); Matcher matcher = p.matcher(phoneNumber); return matcher.matches(); } }
二,正则表达式语法
1,限定符
2,选择匹配符
3,特殊字符
4,字符匹配符
字符集合:就是用[ ]括起来的多个字符。如果里面有元字符,也要当成普通字符。
5,定位符
6,分组组合符
7,其他