正则表达式 - 基础篇

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

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 前端开发 Java
《正则表达式经典实例(第2版)》——1.3 正则表达式工具
除非已经拥有了相当长的使用正则表达式编程的经验,否则建议你先在一个工具中试验一下正则表达式,而不是直接在源代码中使用它们。本章和第2章中提供的正则表达式示例都是原始正则表达式,其中并不包含编程语言(即使是Unlx shell)所必需的额外的转义符号。
2367 0
学习正则表达式
学习正则表达式
43 0
|
4月前
|
C++
正则表达式基础
正则表达式基础
正则表达式 获取功能
使用正则表达式获取符合规则的子串
|
Python
【Python零基础入门篇 · 25】:正则基础、正则的高级用法、贪婪匹配与非贪婪匹配、原生字符串
【Python零基础入门篇 · 25】:正则基础、正则的高级用法、贪婪匹配与非贪婪匹配、原生字符串
217 0
【Python零基础入门篇 · 25】:正则基础、正则的高级用法、贪婪匹配与非贪婪匹配、原生字符串
|
Linux Python
30 分钟轻松搞定正则表达式基础
![](https://ceshiren.com/uploads/default/original/3X/3/d/3dd370fe849dfbae00034a32587f4431165fb220.jpeg) 提起正则表达式,可能大家的第一印象是:既强大好用但也晦涩难懂。正则表达式在文本处理中相当重要,各大编程语言中均有支持(跟 Linux 三剑客结合更是神兵利器)。 正则表达式是对字符串操作的一
|
算法 Shell Linux
正则表达式基础 | 学习笔记
快速学习正则表达式基础。
176 0
|
机器学习/深度学习 C# Windows