`
1140566087
  • 浏览: 547831 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18078
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309558
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17196
社区版块
存档分类
最新评论

Java 正则表达式详解

阅读更多
import java.util.regex.Matcher;
import java.util.regex.Pattern;


//正则表达式详解
public class Title2 {
	public static void main(String[] args){
		regular();
	}
	
	//正则表达式的基础知识
	public static void regular(){
		String norm = ""; //规范
		String message="";  //需要比较的字符
		
		// 1、搜索是否包含"cat"
		message="catalogcat";  //ok
		norm="cat";
		
		//2、句点符号  以t开头 以n结尾ie  . 表示的是通配符 表示一位字符		
		norm="^t.n";
		message="tybn";  // no
		
		/* 3、方括号符:方括号里面的指定的字符才参与匹配,只能匹配括号里面的单个字符 */
		norm="t[aeion]n";
		message="tan";  //ten tin  都是满足  toon 不满足
		
		/* 4、"或" 符号 | */
		norm = "t(a|e|oo)n";
		message="toon";
		
		/* 5、表示匹配次数的符号 - 连字符 表示一个范围0-9
			*  0 次或者多次
			+	1次或者多次
			? 0 次或者 1次
			{n} 恰好n 次
			{n,m} 从n次到m次
		 *
		 */
		norm="[0-9]{3}\\-?[0-9]{2}\\-?[0-9]{4}";
		message="123-12-1234"; //123-12-1234  ok
		norm="[0-9]{4}[A-Z]{2}";  //车牌
		message="8869KV";
		
		//6、否 符号 ^  ^如果用在方括号内不想要匹配的字符
		//[^x]  ---第一个字符不能是X
		//[a-z]+  --后继字符可以是a-z之间的任意字符
		norm="[^b]+";    //不是b 的字符可以出现多次
		message="dbdd";
		
		
		// 7 、圆括号和空白符  \\s --空白符  ex:匹配月份
		norm="[a-z]+\\s+[0-9]{1,2}, \\s*[0-9]{4}";
		message="june 26, 1951";
		
		
		//常见的快捷符号
		/*
		 	\d  [0,9]
		 	\D  [^0-9]
		 	\w  [A-Z0-9]
		 	\W  [^A-Z0-9]
		 	\s  [\t\n\r\f]
		 	\S  [^\t\n\r\f]
		 
		 */
		
		
		//编写的语法  
		Pattern p = Pattern.compile(norm);
		Matcher m = p.matcher(message);
		
		//执行操作结果 根据题号的不同结果不同
		//m.group();分组显示满足规则的字段
		while(m.find()){
			System.out.println("字符:"+message+" 满足规则:"+m.group());
		}
		if(m.matches()){ //全局
			System.out.println(message+"满足正则表达式");
		}else{
			System.out.println(message+"不满足正则表达式");
		}
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics