关于Java的正则表达式

来源:互联网 发布:linux命令查看磁盘空间 编辑:程序博客网 时间:2024/05/22 01:24

  Java的正则表达式的存在是为了按照某种模式去匹配Java中的一类字符串的公式。他包括普通字符和元字符,普通字符包括字母和数字,元字符则具有某些特殊的含义。正则表达式不管是在.net还是Java平台表达的意思都是一样的。

  以下列出了一些Java中常用的正则表达式的匹配条件:
一个或多个汉字^[\u0391-\uFFE5]+$ 邮政编码^[1-9]\d{5}$QQ号码^[1-9]\d{4,10}$ 邮箱^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$ 用户名(字母开头 + 数字/字母/下划线)^[A-Za-z][A-Za-z1-9_-]+$手机号码^1[3|4|5|8][0-9]\d{8}$ URL^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 18位身份证号^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$

那么我们还有两个例子来说明Java正则表达式在Java中对字符串的操作

① 验证邮箱格式是否正确

    String str = "service@xsoftlab.net";

    // 邮箱验证规则
    String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
    // 编译正则表达式
    Pattern pattern = Pattern.compile(regEx);
    // 忽略大小写的写法
    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(str);
    // 字符串是否与正则表达式相匹配
    boolean rs = matcher.matches();
    System.out.println(rs);
②在字符串中查询字符串或者字符

    // 要验证的字符串

    String str = "baike.xsoftlab.net";
    // 正则表达式规则
    String regEx = "baike.*";
    // 编译正则表达式
    Pattern pattern = Pattern.compile(regEx);
    // 忽略大小写的写法
    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(str);
    // 查找字符串中是否有匹配正则表达式的字符/字符串
    boolean rs = matcher.find();
    System.out.println(rs);
以上是对正则表达式的理解。



原创粉丝点击