Java正则表达式(笔记归纳)

public class Regex {
	//1、正则表达式:是有规则的一种表达式
	// 我们常用regex来表示正则表达式
	//	主要作用:
	//		通过一种有规则的字符模式,对 目标字符串进行查询、提取、替换、分割的作用
	//	典型的应用场景:校验相关字符是否匹配规则:用户名校验、电话号码校验、邮箱校验
	
	//2、正则表达式的语法
	//	一、边界符号:
	//		^ -- 表示开始符号
	//		$ -- 表示结束符号
	//		\b -- 表示边界符号
	//		\B -- 表示非边界符号
	
	//	二、描述普通字符
	//		小写字符:"abcdef..." --> [a-z]
	//		大写字符:"ABCDEF..." --> [A-Z]
	//		数字:"0123456789" --> [0-9]
	//部分字符范围,比如:表示a、b、c、d的范围 --> [a-d]或者[abcd]
	
	//	三、转义字符
	//	用法:\(反斜杠)加上特殊符号进行转义
	//	(),\.,\',\?,\*
	//		.在正则表达式中表示匹配一个除了换行符之外的单字符,如果我们要进行描述.本身的话,需要用转义写法\.
	
	//	四、数量限定:
	//	{3} --> 表示3个
	//	{0,} --> 表示0到多个字符,作用相当于*
	//	{1,3} --> 表示1个到3个
	//	{1,} --> 表示1个到多个,作用相当于+
	// 表示最多3个的时候,写法:{0,3},不能写成{,3}
	
	//	五、或者 |
	//	"(a|b)c" --> 表示ac或者bc
	//	"(a|b)*c" --> 表示c之前跟了0个或者多个的a或者b,相当于a*c 或者 b*c  
	
	//	六、特殊字符. --> 表示匹配除了换行符(\n)之外的任何一个单字符
	//		如果要匹配“.”本身,要使用转义写法"\."
	
	//	七、方括号[] --> 表示某些字符允许在一个字符串中的某一个特定位置出现
	//		"[ab]." --> 表示一个字符串中有一个a或者b
	
	//	八、否定符[^] 
	//		不允许在字符串中出现字符的表示方法,在方括号中用"^"表示不希望出现的字符,‘^’应该要放在括号首位
	
	//	九、() --> 标记一个子字符串的开始和结束的位置,子字符串可以获取供以后使用,如果要匹配"("和")",应该用转义写法
	
	//	十、其他的一些间接的正则表达式的写法:
	//		\w --> 匹配包括下划线的任何单词字符,等价于"[A-Za-z0-9_]"
	//		\W --> 匹配任何非单词字符,等价于"[^A-Za-z0-9_]"
	//		\d --> 匹配一个数字字符,等价于[0-9]
	//		\D --> 匹配一个非数字字符,等价于[^0-9]
	
	//正则表达式在Java中的应用:
	//	JDK1.4版本之后,Java正式包含正则表达式的类库:java.util.regex
	//		Pattern pttern对象是一个正则表达式经过编译之后的表现形式
	//		Matcher 它依据pattern对象作为匹配模式对字符串展开匹配检查

	
	public static void main(String[] args) {
		
		//用法一:典型的调用顺序
		String regex = "[a-zA-Z]+";
		String input = "Goktech2018";
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(input);
			
		if (matcher.matches()) {
			System.out.println(input+"符合用户名规则");
		} else {
			System.out.println(input+"不符合用户名规则");	
		}
		
		//用法二:使用Pattern类中的matches方法直接匹配
		//	第一个参数:正则表达式规则
		//	第二个参数:目标字符串
		boolean b = pattern.matches(regex, input);
		System.out.println(b);
		
		
	}
	
	
	
	
}

猜你喜欢

转载自blog.csdn.net/qq_43090158/article/details/86210215
今日推荐