正则表达式

举报
yk02901 发表于 2021/05/10 10:52:55 2021/05/10
【摘要】 一、概述正则表达式用于文本内容的查找和替换。正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。正则表达式在线工具二、匹配单个字符. 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符;. 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。正则表达式一般是区分大小写的,但也有些实现不区分。...

一、概述
正则表达式用于文本内容的查找和替换。

正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。

正则表达式在线工具

二、匹配单个字符
. 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符;

. 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。

正则表达式一般是区分大小写的,但也有些实现不区分。

正则表达式

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 个字符

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。