java正则表达式的知识点有哪些
发表于:2023-02-02 作者:安全数据网编辑
编辑最后更新 2023年02月02日,这篇文章主要介绍"java正则表达式的知识点有哪些"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"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正则表达式的知识点有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
文件服务器安全策略在哪
邮箱服务器没有权限撤回
软件开发与编程的区别
国内主流服务器芯片
私活软件开发收费标准
上海计算机软件开发工具
大名天气预报软件开发
关于网络安全法律法规的新闻
关系型数据库是几维
网络安全公司广州
软件开发软件开发培训班
网络安全的照片
py连接服务器
夜魅网络技术有限公司
数字化网络技术公司排名
古籍数据库优点
开讲啦护苗网络安全教学视频
安徽网络服务器机柜哪里有
2u服务器sig测试
数据库安全演示
软件开发笔试面试
大学生网络安全教育定义
智能互联网络技术的工种
中国网络安全白皮书2021
大数据时代数据库主要是什么
数据库表分区可提升数据
大名天气预报软件开发
学习计算机网络技术的官方平台
电子硬件软件开发公司
火星字体软件开发