JAVA 正则表达式(练习)


//正则表达式练习


import java.util.*;
class RegexTest
{
	public static void main(String []args)
	{
		//test_1();
		//ipSort();
		checkMail();

	}

	/*
		需求:
		 对邮件地址进行校验
	*/
	public static void checkMail()
	{
		String mail = "abc12@sina.com";

		String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
		//较为精确的匹配
	
		reg = "\\w+@\\w+(\\.\\w+)+";
		//相对不精确的匹配  1@1.1 true

		System.out.println(mail.matches(reg));
	}



	/*
		需求:
		将下列字符串转成:我要编程

		思路:
		1,如果只想知道字符是否对错 使用匹配
		2,如果想将已有的字符串变成另一个字符串  替换
		3,想要按照自定义的方式将字符串变成多个字符串。切割 ,获取规则以外的字串
		4,如果拿到符合需求的字符串字串,获取。获取符合规则的字串
	*/
	public static void test_1()
	{
		String str = "我我...我我..我...我要..要要..学学学学...学学..编...编程程";

		str = str.replaceAll("\\.+","");

		str = str.replaceAll("(.)\\1+","$1");

		System.out.println(str);
	}
	/*
		192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30
		将ip地址进行地址段的顺序排序

		还按照字符串自然顺序,只要让它们每一段都是3位即可
		1,按照每一段需要的最多的0进行补齐  那么每一段就会至少保证有3位
		2,将每一段只保留3位  这样,所有的ip地址都是每一段3位
	*/

	public static void ipSort()
	{
		String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";
	
		ip = ip.replaceAll("(\\d+)","00$1");
		//System.out.println(ip);
	
		ip = ip.replaceAll("0*(\\d{3})","$1");
		System.out.println(ip);
		
		String [] arr = ip.split(" ");
		
		TreeSet<String> ts = new TreeSet<String>();

		for(String s: arr)
		{
			ts.add(s);
		}

		for(String s : ts)
		{
			System.out.println(s.replaceAll("0*(\\d+)","$1"));	
		}
	
	}



}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值