正则表达式--Java邮箱验证

主要使用Pattern与Matcher类来执行正则表达式运算

Pattern是用于编译正则表达式,通过complie方法返回一个pattern对象

1
2
3
4
5
6
7
8
9
10
11
12
/**
 * Compiles the given regular expression into a pattern.
 *
 * @param  regex  正则表达式
 *         The expression to be compiled
 * @return the given regular expression compiled into a pattern
 * @throws  PatternSyntaxException
 *          If the expression's syntax is invalid
 */
public static Pattern compile(String regex) {
    return new Pattern(regex, 0);
}

 Matcher用于匹配正则表达式

首先通过Pattern获取一个Mathcer, 参数是要验证的字符串

1
matcher=pattern.matcher(reader.nextLine());

获得Mathcer对象后可利用它的matches等方法查看验证结果

 

 

Java实现的匹配邮箱

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package regex;
 
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class test {
    private static String regex;
    private static Pattern pattern;
    private static Matcher matcher;
    public static void main(String argv[]){
        Scanner reader=new Scanner(System.in);
        //查找邮箱
        //mailRegex是整体邮箱正则表达式,mailName是@前面的名称部分,mailDomain是后面的域名部分
        String mailRegex,mailName,mailDomain;
        mailName="^[0-9a-z]+\\w*";       //^表明一行以什么开头;^[0-9a-z]表明要以数字或小写字母开头;\\w*表明匹配任意个大写小写字母或数字或下划线
        mailDomain="([0-9a-z]+\\.)+[0-9a-z]+$";       //***.***.***格式的域名,其中*为小写字母或数字;第一个括号代表有至少一个***.匹配单元,而[0-9a-z]$表明以小写字母或数字结尾
        mailRegex=mailName+"@"+mailDomain;          //邮箱正则表达式      ^[0-9a-z]+\w*@([0-9a-z]+\.)+[0-9a-z]+$
        pattern=Pattern.compile(mailRegex);
        matcher=pattern.matcher(reader.nextLine());
        if(matcher.matches()){
            System.out.println("found");
        }else {
            System.out.println("not found");
        }
    }
 
}

 

posted @   逃跑旅馆  阅读(14426)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示