java正则表达式(email匹配)

本文介绍了一个使用Java实现的正则表达式匹配程序,该程序能够有效验证电子邮件地址的有效性,包括不同顶级域名(如.com.cn、.com、.cn等)的匹配。文章通过具体示例展示了如何定义正则表达式以及如何使用Java标准库进行模式匹配。

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

package URL;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Test1{
   public static void main(String[]args){
    String regex = "\\w+@\\w+\\.(com\\.cn)|\\w+@\\w+\\.(com|cn)";
           /*
     \w代表[a-zA-z0-9_],之所以写成\\w是因为\有转义的意思,所以要输出 \必须得写成\\
    + 代表可以有一次或者多次
    \\.就代表着.,因为.在正则表达式中代表一个任意的字符,所以要想写出.来就得要用到转义字符\
       要输出\就得要写成\\
    ()代表着一个组合,例如(com)会去匹配含有com的字符串,而com会去匹配含有c或者o或者m
        的字符串
     | 代表这或
     注意:按照正则表达式去匹配的时候是有优先级的,从左至右,()也可以看做是一
         优先级的控制,\\w+@\\w+\\.(com|cn)+ 改为\\w+@\\w+\\.com|cn+程序会以为\\w+@\\w+\\.com或者cn
     这样当对sadfsd@sdfsd.cn匹配时下面的程序会输出cn,而我们的初衷是让com与cn或
                        */


    //String regex = "[a-zA-Z0-9_]+[@][a-zA-Z0-9]+([\\.com]|[\\.cn])";
    Pattern pattern = Pattern.compile(regex);
    String context = "checkhere1@hotmail.com   ;checkhere2@hotmail.com;sdfkfj@sfsdf65656.com.cn "
    +";jfkdjgkjhgk@jdfjkg.cn.cn ;sadfsd@sdfsd.cn";  
    Matcher matcher = pattern.matcher(context);
     while (matcher.find()) {              
     System.out.println(matcher.group());
   
     }
  
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值