正则表达式的用途场景有搜索和替换。正则表达式是一些用来匹配和处理文本的字符串。清单如下:
*本文不限语言,各编译语言略有差异。
.(英文句号) | 可以匹配任何一个单一的字符 |
\ | 元字符。表示“这个字符由特殊含义,而不是字符本身含义”。举例(\.对.进行转义,表示.本身) |
- | (连字符)在字符集合之内,作为一个特殊的元字符。字符集合之外,是一个普通字符,等于其本身,不需要被转义 |
^ | 用于字符集合中,取非操作。 |
[\b] | 回退(并删除)一个字符 |
\f | 换页符 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\v | 垂直制表符 |
\r\n | "回车+换行"组合,有许多操作系统都将这个组合作为文本行的结束标签。 |
\d | 任何一个数字字符(等价于[0-9]) |
\D | 任何一个非数字字符(等价于[^0-9]) |
\w | 任何一个字母数字字符(大小写都包括)或下划线字符(等价于[a-zA-Z0-9_]) |
\W | 任何一个非字母数字字符(大小写都包括)或非下划线字符(等价于[^a-zA-Z0-9_]) |
\s | 任何一个空白字符(等价于[\f\n\r\t\v]) |
\S | 任何一个非空白字符(等价于[^\f\n\r\t\v]) |
\c | 指定各种控制字符。比如说,\cz匹配Ctrl-Z |
[A-Z] | 匹配A到Z的所有大写字母 |
[a-z] | 匹配a到z的所有小写字母 |
[A-F] | 匹配A到F的所有大写字母 |
[A-z] | 匹配从ASCII字符A到z的所有字母 |
.(英文句号) | 在集合中表示自身,不需要转义,即[.]正确 |
+ | 匹配一个或者多个(至少一个)。 |
* | 匹配0个或多个。 |
? | 匹配一个字符的零次或一次出现,最多一个。 |
{a} | 重复a次,a为数字。 |
{a,b} | 最少重复a次,最多b次。其中b可以为空,逗号必须有。 |
贪婪型元字符 | 懒惰型元字符 |
* | *? |
+ | +? |
{n, } | {n, }? |