正则表达式(Regex)--(2)

本文介绍了使用Java正则表达式解决实际问题的方法,包括纠正口吃表达、验证电子邮件地址的有效性以及从网页中抓取电子邮箱等。通过具体实例展示了正则表达式的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * 1,治口吃。
 */
public static void test_1(){
	String str = "我我...我我...我我我要...要要要要...要要要要..学学学学学...学学编编...编编编编..编..程程...程程...程程程";
	//1,将字符串中.去掉。 用替换。
	str = str.replaceAll("\\.+", "");
	System.out.println(str);
	//2,替换叠词。
	str = str.replaceAll("(.)\\1+", "$1");
	System.out.println(str);
	//我要学编程
}

//2,对邮件地址校验。
public static void test_3() {
	String mail = "abc1@sina.com.cn";
	String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]{1,3})+";
	//regex = "\\w+@\\w+(\\.\\w+)+";
	boolean b = mail.matches(regex);
	System.out.println(mail+":"+b);
}

/*
3,网页爬虫:获取网页中的邮箱
*/
public static List getMailsByWeb() throws IOException {
	//1,读取源文件。
	URL url = new URL("http://192.168.1.100:8080/myweb/mail.html");
	BufferedReader bufIn = new BufferedReader(new InputStreamReader(url.openStream()));
	//2,对读取的数据进行规则的匹配。从中获取符合规则的数据.
	String mail_regex = "\\w+@\\w+(\\.\\w+)+";
	List list = new ArrayList();
	Pattern p = Pattern.compile(mail_regex);
	String line = null;
	while((line=bufIn.readLine())!=null){
		Matcher m = p.matcher(line);
		while(m.find()){
			//3,将符合规则的数据存储到集合中。
			list.add(m.group());
		}
	}
	return list;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值