正则表达式--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" ); } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!