正则表达式应用

1.匹配

   

  public static void matchDemo(){
    	String tel="13812341234";
    	String regex="1[358][0-9]{9}";
    	boolean b=tel.matches(regex);
    	System.out.println(b);
    }
 


 这是最常见的

2.切割

	public static void splitDemo() {
		String str="wqrw&&thuudesuridddfxfxf";
		String regex="(.)\\1+";//规则的复用()成为组,以相同字符进行切割,\\1表示对前面组的引用 (.)++,..都是任意字符,前后字符无关联
		String [] strspit=str.split(regex);
		for(String s:strspit)
		System.out.println(s);
	}

3.替换

     public static void replaceDemo() {
	String str="我我....我我我.....我我要......要要学....学学学学...编编...编编程程...程程";
	str=str.replaceAll("\\.+","").replaceAll("(.)\\1+", "$1");//$可引用前一个参数里对应的组
	System.out.println(str);
	}

public static void ipCompare() {//ip比较,先在前面补0,再切割,进行对应位比较
		String ip="192.1.44.67 10.3.65.1 2.4.1.1 34.5.7.8";
		 String []ips=ip.replaceAll("(\\d+)","00$1" ).replaceAll("0*(\\d{3})","$1" ).split(" +");;
		 Arrays.sort(ips);
		for(String i:ips){
			System.out.println(i.replaceAll("0*(\\d+)","$1"));
		}
	}



4.匹配

	public static void getDemo() {
		String str="da jia zhu yi le,ming tian fang jia le";
		String regex="\\b[a-zA-Z]{3}\\b";
		Pattern p=Pattern.compile(regex);//将规则编译成Pattern对象
		Matcher m=p.matcher(str);//和被操作的数进行关联,生成匹配器对象
		while(m.find()){
			
			System.out.println(m.start()+"...."+m.group()+"..."+m.end());//start()不包含开始,end()包含结尾
		}
	}

表达式 m.group() 和 str.substring(m.start(), m.end()) 是等效的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值