Java SE ------- 正则表达式(小解)

1.正则表达式简介
![在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.字符串的使用
2.1字符串支持 正则表达式的方式一:

  • boolean matches(String regex)
  • 根据给定的正则表达式验证当前字符串是否满足格式
  • 要求,满足则返回true,否则返回false。
    邮箱的表达:
package day02;
/**
 * 字符串支持 正则表达式的方式一:
 * boolean matches(String regex)
 * 根据给定的正则表达式验证当前字符串是否满足格式
 * 要求,满足则返回true,否则返回false。
 * 
 * @author Acer
 *
 */
public class StringDemo1 {

	public static void main(String[] args) {
		/*
		 * 电子邮箱的正则表达式
		 * [a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+
		 * 
		 * \\表示为"\\\\"
		 */
		String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)+";
		System.out.println(regex);
		
		String mail = "fancq@tedu.cn";
		boolean flag =mail.matches(regex);
		if(flag) {
			System.out.println("是邮箱");
		}
		else {
			System.out.println("不是邮箱");
		}
	}
}

手机号码:

package day02;

import java.util.Scanner;

/**
 * 验证手机号的正则表达式
 * @author Acer
 *
 */
public class Test01 {

	public static void main(String[] args) {
		/*
		 * 要求用户输入一个手机号,然后经过验证
		 * 输出是否是手机号码
		 */
		System.out.println("请输入一个手机号");
		Scanner scanner = new Scanner(System.in);
		String line = scanner.nextLine();
		/*
		 * (\+86|0086)?\s*1[0-9]{10})
		 */
		String regex = "1[0-9]{10}";
		if(line.matches(regex)) {
			System.out.println("是手机号");
		}else {
			System.out.println("不是手机号");
		}
		scanner.close();
	}
}

2.2 字符串支持 正则表达式的方式二:

  • String split(String regex)
  • 将当前的字符串按照正则表达式的部分进行拆分
  • 返回拆分后的的每段内容
package day02;
/**
 * 字符串支持 正则表达式的方式二:
 * String split(String regex)
 * 将当前的字符串按照正则表达式的部分进行拆分
 * 返回拆分后的的每段内容
 * @author Acer
 *
 */
public class StringDemo2 {

	public static void main(String[] args) {
		String str ="abc123def456ghi789jkl";
		/*
		 * 按照书字拆分,保留所有英文字母部分
		 */
		String regex ="[0-9]+";
		String[] array = str.split(regex);
		//打桩
		System.out.println("len:" + array.length);
		for(int i=0;i<array.length;i++) {
			System.out.println(array[i]);
		}
	}
}

图片重命名:

package day02;
/**
 * 图片重命名
 * 1.jpg
 * 
 * 16543135.jpg
 * 
 * @author Acer
 *
 */
public class Test02 {

	public static void main(String[] args) {
		String imgName = "1.jpg";
		String names[] = imgName.split("\\.");
		imgName = System.currentTimeMillis()
				+"."+names[1];
		System.out.println(imgName);
	}
}

2.3 字符串支持正则表达式方法三:

  • String replaceAll(String regex,String str);
  • 将当前字符串中满足正则表达式的部份替换成给定的字符串
package day02;

/**
 * 字符串支持正则表达式方法三:
 * String replaceAll(String regex,String str);
 * 将当前字符串中满足正则表达式的部份替换成给定的字符串
 * @author Acer
 *
 */
public class StringDemo3 {

	public static void main(String[] args) {
		String str = "abc123def456ghi789jkl";
		/*
		 * 将数字部分替换成"#NUMBER#"
		 */
		str = str.replaceAll("\\d", "#NUMBER#");
		System.out.println(str);
	}
}

图片重命名:

package day02;

/**
 * 字符串支持正则表达式方法三:
 * String replaceAll(String regex,String str);
 * 将当前字符串中满足正则表达式的部份替换成给定的字符串
 * @author Acer
 *
 */
public class StringDemo3 {

	public static void main(String[] args) {
		String str = "abc123def456ghi789jkl";
		/*
		 * 将数字部分替换成"#NUMBER#"
		 */
		str = str.replaceAll("\\d", "#NUMBER#");
		System.out.println(str);
	}
}

和谐用语:

package day02;
/**
 * 和谐用语
 * @author Acer
 *
 */
public class Test04 {

	public static void main(String[] args) {
		String regex = "(wqnmlgb|cnm|sb|2b|nc|tmd|cby|djb)";
		String message = "wqnmlgb!你这个djb!你咋么这么nc";
		message = message.replaceAll(regex, "**");
		System.out.println(message);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值