您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        这篇文章主要介绍“java正则表达式的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java正则表达式的知识点有哪些”文章能帮助大家解决问题。
| 字符 | |
|---|---|
| x | 字符 x | 
| \\ | 反斜线字符 | 
| \0n | 带有八进制值 0 的字符 n (0 <= n <= 7) | 
| \0nn | 带有八进制值 0 的字符 nn (0 <= n <= 7) | 
| \0mnn | 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7) | 
| \xhh | 带有十六进制值 0x 的字符 hh | 
| \uhhhh | 带有十六进制值 0x 的字符 hhhh | 
| \t | 制表符 ('\u0009') | 
| \n | 新行(换行)符 ('\u000A') | 
| \r | 回车符 ('\u000D') | 
| \f | 换页符 ('\u000C') | 
| \a | 报警 (bell) 符 ('\u0007') | 
| \e | 转义符 ('\u001B') | 
| \cx | 对应于 x 的控制符 | 
| 字符类 | |
|---|---|
| [abc] | a、b 或 c(简单类) | 
| [^abc] | 任何字符,除了 a、b 或 c(否定) | 
| [a-zA-Z] | a 到 z 或 A 到 Z,两头的字母包括在内(范围) | 
| [a-d[m-p]] | a 到 d 或 m 到 p:[a-dm-p](并集) | 
| [a-z&&[def]] | d、e 或 f(交集) | 
| [a-z&&[^bc]] | a 到 z,除了 b 和 c:[ad-z](减去) | 
| [a-z&&[^m-p]] | a 到 z,而非 m 到 p:[a-lq-z](减去) | 
| 预定义字符类 | |
|---|---|
| . | 任何字符(与行结束符可能匹配也可能不匹配) | 
| \d | 数字:[0-9] | 
| \D | 非数字: [^0-9] | 
| \s | 空白字符:[ \t\n\x0B\f\r] | 
| \S | 非空白字符:[^\s] | 
| \w | 单词字符:[a-zA-Z_0-9] | 
| \W | 非单词字符:[^\w] | 
| Greedy 数量词 | |
|---|---|
| X? | X,一次或一次也没有 | 
| X* | X,零次或多次 | 
| X+ | X,一次或多次 | 
| X{n} | X,恰好 n 次 | 
| X{n,} | X,至少 n 次 | 
| X{n,m} | X,至少 n 次,但是不超过 m 次 | 
| Reluctant 数量词 | |
|---|---|
| X?? | X,一次或一次也没有 | 
| X*? | X,零次或多次 | 
| X+? | X,一次或多次 | 
| X{n}? | X,恰好 n 次 | 
| X{n,}? | X,至少 n 次 | 
| X{n,m}? | X,至少 n 次,但是不超过 m 次 | 
例子
package com.xiaostudy;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyPattern {
    public static void main(String[] args) {
    }
    private static void demo_Reluctant() {
        // 检验规则,单个字母,“+”表示:0次或多次,后面多加一个“?”与不加的区别是:不加的话表示只匹配一次,加的话表示匹配多次
        String regex = ".+?222";
        // 要检验的对象
        String str = "xx222xx222xx222xx222";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        while (matcher.find())
            System.out.println(matcher.start() + "=====" + matcher.end());
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_aBAb() {
        // 检验规则,字母集,“+”表示:0个或多个
        String regex = "[abcd]+";
        // 要检验的对象
        String str = "adbcdbaDACDBDAC";
        // 编译正则表达式,不区分大小写
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_abcd() {
        // 检验规则,字母集,“+”表示:0个或多个
        String regex = "[abcd]+";
        // 要检验的对象
        String str = "adbcdabdcddbadbc";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_123no() {
        // 检验规则,非数字集,“+”表示:0个或多个
        String regex = "[^1-9]+";// 等价于\\D+
        // 要检验的对象
        String str = "+sdoi#$@%@#";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_123() {
        // 检验规则,数字集,“+”表示:0个或多个
        String regex = "[1-9]+";// 等价于\\d+
        // 要检验的对象
        String str = "123";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_2() {
        // 检验规则,单个数字
        String regex = "[1-9]";
        // 要检验的对象
        String str = "2";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_nm() {
        // 检验规则,单个字母,“{n,m}”表示:出现n次到m次之间,包括他们本身
        String regex = "x{3,5}";
        // 要检验的对象
        String str = "xxxxx";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_n0() {
        // 检验规则,单个字母,“{n,}”表示:出现n次或以上
        String regex = "x{3,}";
        // 要检验的对象
        String str = "xxxx";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_n() {
        // 检验规则,单个字母,“{n}”表示:就出现n次
        String regex = "x{3}";
        // 要检验的对象
        String str = "xxx";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_xxx0() {
        // 检验规则,单个字母,“+”表示:0次或多次
        String regex = "x+";
        // 要检验的对象
        String str = "xxx";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_xxx() {
        // 检验规则,单个字母,“*”表示:一次或多次
        String regex = "x*";
        // 要检验的对象
        String str = "xxx";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_x_01() {
        // 检验规则,单个字母,“?”表示:一次或一次都没有
        String regex = "x?";
        // 要检验的对象
        String str = "x";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_00() {
        // 检验规则,单个字母,“.”表示:任何字符
        String regex = ".";
        // 要检验的对象
        String str = "x";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
    private static void demo_x() {
        // 检验规则,单个字母
        String regex = "x";// 等价于\\w、[a-z]
        // 要检验的对象
        String str = "x";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建匹配器,给定输入与此模式的匹配
        Matcher matcher = pattern.matcher(str);
        // 匹配,返回结果
        boolean b = matcher.matches();
        if (b)
            System.out.println(true);
        else
            System.out.println(false);
    }
}关于“java正则表达式的知识点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。