正则表达式 - 基础篇

简介: 正则表达式 - 基础篇

1.正则简介

- 1.使用特殊的符号来做校验,目标是操作字符串。例如:手机号码、邮箱、身份证的校验等。

2.使用正则表达式的优缺点

- 1.使用特殊的符号来做校验,目标是操作字符串。例如:手机号码、邮箱、身份证的校验等。

- 2.缺点:虽然能简化书写,但是正则表达式的阅读性较差。

3.正则表达式语法规则

image.pngimage.png

Ps1:+号表示前面字符的出现次数必须大于或等于1次(等价于 {1,})。
Ps2:表示“.”符号时,不能加单斜杠“/",因为点在正则里被使用过,所以加双斜杠“//”。

4.前台校验局限性image.png

Ps:可以通过审查元素将正则代码去掉。

5.正则综合运用

image.png

<body><formaction="/Rg/servlet/RegisterServlet"method="post"><p>用户名:<inputtype="text"name="username"pattern="[a-zA-Z]{6,12}"required="required"placeholder="请输入6-12位的字母"></p><p>&nbsp;:<inputtype="password"name="password"pattern="[0-9]{6,}"required="required"placeholder="请输入至少6位数字"></p><p>手机号:<inputtype="text"name="phone"pattern="1[3578]\d{9}"required="required"placeholder="请输入手机号"></p><p>&nbsp;:<inputtype="email"name="email"placeholder="请输入邮箱"required="required"></p><p><inputtype="submit"value="注册"><inputtype="reset"><inputtype="reset"value="重置"></p></form></body>
packagecn.java.servlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
@WebServlet("/servlet/RegisterServlet")
publicclassRegisterServletextendsHttpServlet {
protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException, IOException {
//首先获取参数Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
Stringphone=request.getParameter("phone");
Stringemail=request.getParameter("email");
//对获取的参数信息进行校验//      用户名只能为字母,长度为6-12位:[a-zA-Z]{6,12}StringusernameRegex="[a-zA-Z]{6,12}";
//matches方法的含义是将获取过来的username和usernameRegex这个规则进行比对,如果满足要求则返回true,否则返回falsebooleanflag1=username.matches(usernameRegex);
//      密码只能为数字,长度至少为6位:[0-9]{6,},\\d{6}StringpassRegex="[0-9]{6,}";
booleanflag2=password.matches(passRegex);
//      手机号校验:[1][3578]\\d{9}StringphoneRegex="[1][3578][0-9]{9}";
booleanflag3=phone.matches(phoneRegex);
//      邮箱校验:[a-zA-Z_0-9]{3,}@([a-zA-Z]+|\\d+)(\\.[a-zA-Z]+)+StringemialRegex="[a-zA-Z_0-9]{3,}@([a-zA-Z]+|\\d+)(\\.[a-zA-Z]+)+";
booleanflag4=email.matches(emialRegex);
//如果username、password、email、phone同时满足格式要求的话才打印数据,否则提示数据不满足格式要求if(flag1&&flag2&&flag3&&flag4){
//然后打印参数System.out.println("username="+username);
System.out.println("password="+password);
System.out.println("phone="+phone);
System.out.println("email="+email);
        }else{
System.out.println("亲,您输入的注册信息数据不满足格式要求,请检查仔细后在输入");
        }
    }
protectedvoiddoPost(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException, IOException {
doGet(request, response);
    }
}
packagecn.java.test;
publicclassRegexTest {
publicstaticvoidmain(String[] args){
Stringdata="1";//给定一个非数字Stringregex="\\D";//非数字booleanflag=data.matches(regex);
//System.out.println(flag);Stringdata2="abc";
Stringregex2="\\s";//空白字符booleanflag2=data2.matches(regex2);
//System.out.println(flag2);Stringdata3=" ";
Stringregex3="\\S";//非空白字符booleanflag3=data3.matches(regex3);
//System.out.println(flag3);Stringdata4="a";
Stringregex4="\\w";//单词字符[a-zA-Z_0-9]booleanflag4=data4.matches(regex4);
//System.out.println(flag4);Stringdata5="%";
Stringregex5="^\\W$";//非单词字符[a-zA-Z_0-9](^、$代表的是正则的起始与结束标记,可以省略不写)booleanflag5=data5.matches(regex5);
System.out.println(flag5);
    }
}

6.待更新...

目录
相关文章
|
JavaScript Windows Python
Windows DOS进入指定盘符(磁盘路径)
Windows DOS进入指定盘符(磁盘路径)
947 1
|
缓存 监控 负载均衡
提升HTTP动态代理IP性能的最佳实践
在现代网络环境中,HTTP动态代理IP的优化配置至关重要。通过选择合适的代理类型(正向/反向代理)、配置缓存、使用负载均衡、加强安全配置(SSL/TLS加密、身份验证)、管理日志、性能监控、限制带宽、定期更新软件和优化用户体验(减少延迟、内容压缩),可以显著提升网络性能、安全性及用户满意度。根据具体需求灵活调整配置,实现最佳效果。
533 64
提升HTTP动态代理IP性能的最佳实践
|
10月前
|
存储 机器学习/深度学习 边缘计算
OSS生命周期管理自动化:7天冷归档+30天低频访问的合规存储策略(结合企业级数据分级场景)
在数据爆炸增长背景下,企业面临存储成本攀升与合规要求升级的双重挑战。本文以金融与医疗行业实践为例,深入解析如何通过OSS自动化生命周期管理实现数据分级存储优化。内容涵盖数据热力模型分析、存储类型成本对比、状态机驱动的自动降级策略、合规性保障机制及机器学习动态预测方案,最终达成存储成本下降64.3%、合规审计通过率提升至98.7%的实战效果。适合关注云存储架构优化、数据治理与合规管控的技术决策者参考。
391 0
|
NoSQL Linux C语言
Linux GDB 调试
Linux GDB 调试
300 10
|
移动开发 API
阿里云域名续费优惠口令大全
阿里云域名续费优惠口令及新老用户优惠大全,2023阿里云com域名续费优惠口令“com批量注册更享优惠”,cn域名续费优惠口令“cn注册多个价格更优”
1284 0
|
机器学习/深度学习 数据可视化 数据挖掘
强化学习第1天:强化学习概述
强化学习第1天:强化学习概述
|
网络协议 网络架构
ensp中BGP(边界网关协议)基础原理及配置命令
ensp中BGP(边界网关协议)基础原理及配置命令
1331 0
|
缓存 关系型数据库 MySQL
分享一个实用的MySQL一键巡检脚本
分享一个实用的MySQL一键巡检脚本
411 0
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
|
弹性计算 Linux Windows
【ECS常见问题 二】镜像计费问题
复制镜像怎么收费的? 复制镜像过程包括以下操作: 从源地域将生成自定义镜像的快照复制到目标地域。在目标地域根据快照自动生成自定义镜像。
【ECS常见问题 二】镜像计费问题

热门文章

最新文章

下一篇
开通oss服务