java正则表达式的知识点有哪些
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"java正则表达式的知识点有哪些"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"java正则表达式的知识点有哪些"文章能帮助大家解决问题。字符
千家信息网最后更新 2026年11月03日java正则表达式的知识点有哪些
这篇文章主要介绍"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正则表达式的知识点有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
检验
正则
表达式
字符
对象
模式
结果
规则
编译
输入
字母
单个
知识
数字
知识点
多个
八进制
等价
十六进制
单词
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技企业和互联网企业
互联网巨头科技公司
互联网科技的
没上市的科技互联网公司
易互联网科技有限公司
致骋互联网科技
互联网科技视频
艾特科技互联网
安徽鑫晟辉互联网科技
伴你行互联网科技有限公司
互联网科技创新企业排名
哈尔滨秒房互联网科技有限公司
华中科技有哪些互联网大佬
玖二柒互联网科技公司待遇
科技与互联网的利与弊
中盈科技互联网信息有限公司
晓花互联网科技有限公司网址
开一家科技互联网公司需要多少钱
电子商务与互联网科技的关系
悟空问答互联网科技
互联网科技卖菜
互联网科技公司怎么样
互联网科技股有哪些
互联网软件和科技
厦门千工互联网科技有限公司
互联网新科技动漫ppt素材
上海科技产业互联网平台
浙南科技城互联网大厦招聘
广州三三互联网科技有限公司
网互联网络科技