全面解析:正则表达式关键符号与用法
需积分: 25 22 浏览量
更新于2024-09-07
收藏 7KB TXT 举报
"正则表达式速查表"
正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或提取特定模式。它由各种字符和元字符组成,能够灵活地定义搜索模式。以下是一些重要的正则表达式知识点:
1. **转义字符**:
- `\` 用于转义特殊字符,如`\d`表示数字,`\s`表示空白字符。
- `\\` 表示一个反斜杠。
- `\0` 到 `\077` 表示八进制字符,`\0nn` 和 `\0mnn` 分别表示八进制数字。
- `\xhh` 表示十六进制字符,`\uhhhh` 同样表示十六进制。
- 特殊字符:`\t` (制表符), `\n` (换行), `\r` (回车), `\f` (换页), `\a` (响铃), `\e` (转义)。
2. **字符类**:
- `[abc]` 匹配 'a', 'b', 或 'c'。
- `[^abc]` 匹配除 'a', 'b', 'c' 之外的任何字符。
- `[a-zA-Z]` 匹配大小写字母。
- `[a-d[m-p]]` 匹配 'admp' 或 '[ad-m]'。
- `[a-z&&[def]]` 只匹配 'def'。
- `[a-z&&[^bc]]` 匹配 'az' 但排除 'b' 和 'c'。
- `[a-z&&[^m-p]]` 匹配 'azmp' 但排除 'm' 到 'p'。
3. **量词**:
- `.` 代表任意字符,除了换行符。
- `*` 表示前面的字符可以出现零次或多次。
- `+` 表示前面的字符至少出现一次。
- `?` 表示前面的字符可以出现零次或一次。
- `{n}` 指定前面的字符出现 n 次。
- `{n,m}` 指定前面的字符至少出现 n 次,最多 m 次。
- `{n,}` 表示前面的字符至少出现 n 次,没有上限。
4. **预定义字符类**:
- `\d` 相当于 `[0-9]`,匹配数字。
- `\D` 相当于 `[^0-9]`,匹配非数字。
- `\s` 匹配空白字符,包括 tab, newline, carriage return, form feed。
- `\S` 匹配非空白字符。
- `\w` 匹配字母、数字或下划线,等价于 `[a-zA-Z0-9_]`。
- `\W` 匹配非单词字符,等价于 `[^a-zA-Z0-9_]`。
5. **Unicode 属性**:
- `\p{Lower}` 匹配小写字母。
- `\p{Upper}` 匹配大写字母。
- `\p{ASCII}` 匹配 ASCII 字符集。
- `\p{Alpha}` 匹配任何字母。
- `\p{Digit}` 匹配任何数字。
- `\p{Alnum}` 匹配任何字母或数字。
- 更多属性,如 `\p{Punct}`, `\p{Graph}`, `\p{Print}`, `\p{Blank}`, `\p{Cntrl}`, `\p{XDigit}`, `\p{Space}`,分别对应标点符号、可打印字符、空白字符等。
6. **Java 语言相关的属性**:
- `\p{javaLowerCase}` 根据 Java 的 `Character.isLowerCase()` 判断。
- `\p{javaUpperCase}` 根据 Java 的 `Character.isUpperCase()` 判断。
- `\p{javaWhitespace}` 匹配 Java 规范中的空白字符。
掌握这些基本的正则表达式知识点,可以帮助你在处理文本时进行高效、精确的匹配和操作。无论是在编程、数据分析还是文本处理中,正则表达式都是不可或缺的工具。通过不断地练习和应用,你将能够更加熟练地运用它们来解决实际问题。
244 浏览量
116 浏览量
170 浏览量
129 浏览量
297 浏览量
2020-10-28 上传
qq_34324889
- 粉丝: 4
- 资源: 31
最新资源
- 基于BIC、EM算法构建贝叶斯网
- 山社步进电机EnterCAT描述文件
- jquery.preloader:jQuery preloader插件
- VIM Emulator plugin for IntelliJ IDEA-开源
- 电子功用-故障导向安全的动态采集电路及故障导向安全的装置
- 沟通和追踪的秘笈
- portafolio-personal:Portafolio个人资源前端网络服务提供商React.js Node.js和Express.js。 Tengo Pensadoañadirmas funcionalidades en un Futuro
- 布局不稳定性:布局不稳定性规范的建议
- jQuery-TH-Float:jQuery插件-浮动的THEAD和TFOOT已在视图中修复
- Business_Cases_Projects
- nextjs-tutorial:学习使用Nextjs构建全栈React应用
- bioMEA
- 保险行业培训资料:试着把生命折迭51次
- node-app-etc-load:加载配置文件
- WIN
- py_udp:使用 Python 发送/接收 UDP 数据包。-matlab开发