正则表达式

作者: GuoDJ | 来源:发表于2021-05-11 11:35 被阅读0次

正则,正则表达式

什么是正则表达式

正则表达式能够描述字符串的格式,通常用于验证字符串内容;
正则表达式并不是java语言的内容,而是独立于编程语言的体系;

为什么需要正则表达式

在人机信息互动时,可以让计算机验证用户输入的内容是否匹配比如Email,手机号,身份证号等

正则表达式字符说明一个字符

一个字符

转译字符

\n 换行
\r 回车
\t 制表符,一个缩进量
\ 代表一个反斜线字符
\' 代表一个单引号(撇号)字符
\" 代表一个双引号字符
\0 空字符(NULL)

预定义字符


数量词


matches方法

package chapter04;

public class Regex_matches {
    public static void main(String[] args) {
        System.out.println("判断字符串表示的字符,是否是abc其中任意一个");
        
        String a = "%";
        System.out.println(a);
        String regex = "\\W";//正则 == 规则
        
        boolean flag = a.matches(regex);
        System.out.println(flag);
        
    }
}

正则验证Email

字符串支持正则表达式方法—:

boolean matches(String regex)

使用给定的正则表达式验证当前字符串的格式,匹配通过则返回true否则返回false

package day02;
/**
 * 字符串支持正则表达式的相关方法之一:
 * boolean matches(String regex)
 * 该方法是用给定的正则表达式验证当前字符串是否满足
 * 格式要求,满足则返回true.
 * 这里需要注意,正则表达式就算不添加边界匹配符(^...$)
 * 也是做全匹配验证。
 * @author adminitartor
 *
 */
public class String_matches {
    public static void main(String[] args) {
        /*
         * email的正则表达式
         * [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
         * 
         * 
         */
        String email = "fancq@tedu.cn";
        
        String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+\\.[a-zA-Z]+)+";
        
        boolean tf = email.matches(regex);
        if(tf){
            System.out.println("是邮箱");
        }else{
            System.out.println("不是邮箱");
        }
        
    }
}

正则拆分字符串

string支持正则表达式方法二:

String[] split(String regex)

将当前字符串按照满足正则表达式的部分进行拆分,返回拆分后的每段内容

package day02;
/**
 * 字符串支持正则表达式方法二:
 * String[] split(String regex)
 * 将当前字符串中满足给定正则表达式的部分拆分,将
 * 剩下的所有部分以一个数组的形式返回。
 * @author adminitartor
 *
 */
public class String_split {
    public static void main(String[] args) {
        String str = "abc123def456ghi789jkl";
        /*
         * 根据数字拆分,保留所有字母部分
         */
        String[] data = str.split("[0-9]+");
        System.out.println("拆分出"+data.length+"项");
        
        for(int i=0;i<data.length;i++){
            System.out.println(data[i]);
        }
        
    }
}

正则替换字符串

String支持正则表达式方法三:

String replaceAll(String regex,String str)

将当前字符串中满足正则表达式的部分替换为给定的内容。

package day02;
/**
 * 字符串支持正则表达式方法三:
 * String replaceAll(String regex,String str)
 * 将当前字符串中满足正则表达式的部分替换为给定内容
 * @author adminitartor
 *
 */
public class String_replaceAll {
    public static void main(String[] args) {
        String str = "abc123def456ghi789jkl";
        /*
         * 将当前字符串中的数字部分替换为"#NUMBER#"
         */
        str = str.replaceAll("\\d+", "#NUMBER#");
        System.out.println(str);
    }
}

练习1:图片重命名

package day02;
/**
 * 图片重命名
 * @author adminitartor
 *
 */
public class Test1 {
    public static void main(String[] args) {
        String imgName = "123.jpg";
        
//      String[] names = imgName.split("\\.");
//      
//      long time = System.currentTimeMillis();
//      
//      imgName = time + "." + names[1];
//      System.out.println(imgName);
        
        
        String name = imgName.substring(imgName.indexOf("."));
        imgName = System.currentTimeMillis()+name;
        System.out.println(imgName);
    }
}

练习2:替换敏感词汇

package day02;

public class Test2 {
    public static void main(String[] args) {
        String regex = "(wqnmlgb|nc|cnm|mdzz|djb|sb|nmlgb)";
        String message = "wqnmlgb!你这个sb!你怎么这么的nc!nmlgb!你个djb!";
        
        message = message.replaceAll(regex, "****");
        System.out.println(message);
    }
}

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

    本文标题:正则表达式

    本文链接:https://www.haomeiwen.com/subject/xqpgdltx.html