正则表达式
一、概述
正则表达式用于文本内容的查找和替换。
正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。
正则表达式在线工具
二、匹配单个字符
. 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符;
. 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。
正则表达式一般是区分大小写的,但也有些实现不区分。
正则表达式
rabbit
1
匹配结果
My name is rabbit .
三、匹配一组字符
[ ] 定义一个字符集合;
0-9、a-z 定义了一个字符区间,区间使用 ASCII 码来确定,字符区间在 [ ] 中使用。
- 只有在 [ ] 之间才是元字符,在 [ ] 之外就是一个普通字符;
^ 在 [ ] 中是取非操作。
应用
匹配以 abc 为开头,并且最后一个字母不为数字的字符串:
正则表达式
abc[^0-9]
1
匹配结果
abcd
abc1
abc2
四、使用元字符
匹配空白字符
元字符 说明
[\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。
五、重复匹配
+ 匹配 1 个或者多个字符
** * 匹配 0 个或者多个字符
? 匹配 0 个或者 1 个字符
- 点赞
- 收藏
- 关注作者
评论(0)