正则表达式

package com.regex;
/**
 * 满足规则返回true   不满足返回false
 * 一个范围词没有配合数量词使用也只能匹配一个字符而已
	 预定义字符类 
		. 	任何字符(与行结束符可能匹配也可能不匹配) 
		\d 	数字:[0-9] 
		\D 	非数字: [^0-9] 
		\s 	空白字符:[ \t\n\x0B\f\r] 
		\S 	非空白字符:[^\s] 
		\w 	单词字符:[a-zA-Z_0-9] 
		\W 	非单词字符:[^\w]
 *
 */
/**
 * @author 谢英亮
 * @date 2017年12月22日  下午3:08:24
 * @Description: 
 */
public class Demo2 {
	
	public static void main(String[] args) {
		String regex=".";
		System.out.println(".".matches(regex));
		System.out.println(".1".matches(".."));
		System.out.println("1".matches("\\."));
		System.out.println("1".matches("\\d"));
		System.out.println("1".matches("\\D"));
		System.out.println("~ ".matches("[^0-9] "));
		System.out.println("\t".matches("\\s"));
		System.out.println("_".matches("\\w"));
		System.out.println("%".matches("[a-zA-Z_0-9$%]"));
		//. 这个字符   \.     ==>\\.
		
		//split("\\|")
		
		
		
	}

}
package com.regex;
/**
		Greedy 数量词
		X?	X,一次或一次也没有  0或1
		X*	X,零次或多次  0  >=1
		X+	X,一次或多次        >=1
		X{n}	X,恰好n次
		X{n,}	X,至少n次
		X{n,m}	X,至少n次,但是不超过m次
		
		
		范围表示
		[abc]	a、b 或 c(简单类) 
		[^abc]	任何字符,除了 a、b 或 c(否定) 
		[a-zA-Z]	a 到 z 或 A 到 Z,两头的字母包括在内(范围) 

 * @author 谢英亮
 * @date 2017年12月22日  下午3:05:31
 * @Description: 
 */
public class Demo3 {
	
	public static void main(String[] args) {
		
		System.out.println("b".matches("a?"));
		System.out.println("ab".matches("a?b"));//注意啦
		
		System.out.println("a".matches("a*"));//有或者没有
		
		System.out.println("aaaaa".matches("a+"));//至少1次
		System.out.println("aaaaaa".matches("a{5}"));//刚好5次
		System.out.println("aaaaaa".matches("a{5,}"));//至少5次
		System.out.println("aaaaaaaaaa".matches("a{5,10}"));//5次到10次  包括5次和10次
		
		System.out.println("asdads1234!".matches("[^a-z\\d!]+"));
		
		
		
		
		
		
	}

}

package com.regex;

/**
 * @author 谢英亮
 * @date 2017年12月22日  下午3:06:08
 * @Description: 
 */
public class DemoReplaceAll {
	
	public static void main(String[] args) {
		
		String regex="(\\d{3})(\\d{4})(\\d{4})";
		//引用组的内容
		System.out.println("13111111111".replaceAll(regex, "$1XXXX00000$3"));
		
		//我我我我是是是是是是是是是是高高高富富富富富富富富富富富富帅帅帅===》我是高富帅
		String gfs="我我我我是是是是是是是是是是高高高富富富富富富富富富富富富帅帅帅";
		System.out.println(gfs.replaceAll("(.)\\1+", "$1"));
		
		String zw="[^\u4e00-\u9fa5]{3,8}";//用户名必须是中文  长度在3-8
		
		System.out.println("abced".matches(zw));
		
	}

}

package com.regex;

import java.util.Arrays;
/**
 * @author 谢英亮
 * @date 2017年12月22日  下午3:06:35
 * @Description: 需求2 :根据重叠词进行切割
 */
public class DemoSplit {
	public static void main(String[] args) {
		/**
		 * + .  *  |  &  \
		 */
		String  str="我我我|爱.的|卡哪款.的数据你\\感觉\\聚.精会神实.例化啊速度和";
		
		String[] split = str.split("\\\\");
		
		System.out.println(Arrays.toString(split));
		
		
		
		System.out.println("--------------------------------------");
		String str1="我阿达的我我12是是是啊是的哈看电电视剧啊都是考试的考点阿闪大大多";
		//后面匹配的要用到上一个匹配的结果
		//分组
		/**
		 * ((A)(B(C))) 
		 * 第1组:((A)(B(C)))
		 * 第2组:(A)
		 * 第3组:(B(C))
		 * 第4组:(C)
		 */
		String regex="(.)\\1+";
		System.out.println("123132".matches("1234+"));
		String[] split2 = str1.split(regex);
		
		System.out.println(Arrays.toString(split2));
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值