博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java正则表达式java.util.regex类的简单使用
阅读量:5098 次
发布时间:2019-06-13

本文共 3173 字,大约阅读时间需要 10 分钟。

1、什么是正则表达式?

正则表达式(regular expression)是根据字符串集合内每个字符串共享的共同特性来描述字符串集合的一种途径。正则表达式可以用于搜索、编辑或者处理文本和数据。

Java.util.regex主要包含以下三类:

  • pattern类:
    pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
  • Matcher类:
    Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
  • PatternSyntaxException

    PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

    2、正则表达式主要用于对password、phone、Email等的合法性检查以下就是其简单应用:

对应的类:

package cn.lovepi.chapter07.action;import com.opensymphony.xwork2.ActionSupport;import java.util.regex.Pattern;/*** * 数据校验示例——硬编码格式*/public class ValidateAction extends ActionSupport{    private String username;    private String password;    private String repassword;    private String email;    private String phonenumber;    private int age;    @Override    public String execute() throws Exception {        return SUCCESS;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getRepassword() {        return repassword;    }    public void setRepassword(String repassword) {        this.repassword = repassword;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getPhonenumber() {        return phonenumber;    }    public void setPhonenumber(String phonenumber) {        this.phonenumber = phonenumber;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

类对应的校验方法:

public void validateExecute(){        if (null==username || username.length()<6 ||username.length()>10) {            this.addFieldError("username", "username has error");        }        if (null==password || password.length()<6||password.length()>10) {            this.addFieldError("password", "password has error");        }else if (null==repassword || repassword.length()<6||repassword.length()>10) {            this.addFieldError("repassword", "repassword has error");        }else if(!password.equals(repassword)){            this.addFieldError("password", "tow password is not be same");        }        if (age<=0 ||age>150) {            this.addFieldError("age", "年龄不符合人类规范!");        }        //验证邮箱! 123dsaw@163.com        //只允许a-z A-Z 1-9 -_        //正则表达式---专门用于复杂字符判断的技术        Pattern p = Pattern.compile("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\\.([a-zA-Z0-9_-])+)+$");        if (null==email || !p.matcher(email).matches()) {            this.addFieldError("email", "邮箱验证失败!");        }        Pattern p1=Pattern.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{7,8})|(0\\d{3}-\\d{7,8})$");        if (null==phonenumber || !p1.matcher(phonenumber).matches()) {            this.addFieldError("phonenumber", "电话格式不正确!");            this.addActionError("action级别错误!");        }    }

参考链接:

转载于:https://www.cnblogs.com/yuanchao-blog/p/10668107.html

你可能感兴趣的文章
数据库隔离级别
查看>>
C - Bear and Five Cards
查看>>
招聘工作告一段落
查看>>
druid数据源的加密解密工具
查看>>
swfupload详解
查看>>
python-微博模拟登陆
查看>>
Python【11】【前端编程】- HTML基础
查看>>
nump库的简单函数介绍
查看>>
好程序员大数据点睛:Hadoop基础篇
查看>>
JVM内存模型和GC机制
查看>>
201571030323/201571030334《小学生四则运算练习软件需求说明》结对项目报告
查看>>
SequenceFile介绍
查看>>
安卓 代码混淆与打包
查看>>
AT&T汇编语言及其寻址方式
查看>>
ubuntu下 java、mysql、tomcat(ssl认证) 配置
查看>>
linux命名详解及其软件安装实例
查看>>
查看iOS沙盒(SanBox)文件
查看>>
数据结构与算法
查看>>
顺时针打印矩阵
查看>>
[转载]Chrome 与 Chrome OS 各版本下载集合
查看>>