目录
写在前面:
此学习笔记为个人学习笔记,部分内容参考自业内官网、学习网站、他人博客等,欢迎交流与指正。
一、概述
正则表达式用于文本内容的查找和替换。
正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。
菜鸟工具在线匹配: https://c.runoob.com/front-end/854
二、匹配单个字符
. 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符;
. 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。
正则表达式一般是区分大小写的,但也有些实现不区分。
三、匹配一组字符
[ ] 定义一个字符集合;
0-9、a-z 定义了一个字符区间,区间使用 ASCII 码来确定,字符区间在 [ ] 中使用。
- 只有在 [ ] 之间才是元字符,在 [ ] 之外就是一个普通字符;
^ 在 [ ] 中是取非操作。
应用
匹配以 abc 为开头,并且最后一个字母不为数字的字符串:
正则表达式
abc[^0-9]
四、使用元字符
匹配空白字符
元字符 | 说明 |
---|---|
[\b] | 回退(删除)一个字符 |
\f | 换页符 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\v | 垂直制表符 |
\r\n 是 Windows 中的文本行结束标签,在 Unix/Linux 则是 \n。
\r\n\r\n 可以匹配 Windows 下的空白行,因为它匹配两个连续的行尾标签,而这正是两条记录之间的空白行;
匹配特定字符
1. 数字元字符
元字符 | 说明 |
---|---|
\d | 数字字符,等价于 [0-9] |
\D | 非数字字符,等价于 [^0-9] |
2. 字母数字元字符
元字符 | 说明 |
---|---|
\w | 大小写字母,下划线和数字,等价于 [a-zA-Z0-9_] |
\W | 对 \w 取非 |
3. 空白字符元字符
元字符 | 说明 |
---|---|
\s | 任何一个空白字符,等价于 [\f\n\r\t\v] |
\S | 对 \s 取非 |
\x 匹配十六进制字符,\0 匹配八进制,例如 \xA 对应值为 10 的 ASCII 字符 ,即 \n。