正则表达式(regex)
正则表达式是用来检索或是替换字符串的一种逻辑公式,它具有以下特点:
- 灵活性、逻辑性和功能性非常强
- 可以迅速地用极简单的方式达到字符串的复杂控制
下面介绍正则表达式的符号意义
元字符 | 描述 |
---|---|
转义字符中的反斜杠,例如 换行、 回车 | |
d | 0至9中的任意数字 |
D | 除0至9中的任意数字之外的任意字符 |
w | 任何字母、数字或下划线字符(可以认为是匹配单词的字符) |
W | 除字母、数字或下划线以外的任何字符 |
s | 空格、制表符或换行符 |
S | 除空格、制表符或换行符之外的任何字符 |
( ) | 将( 和 ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 1 到9 的符号来引用。 |
* | 匹配前面的子表达式任意次 例如 d* |
+ | 匹配前面的子表达式一次或多次(大于等于1次) |
? | 匹配前面的子表达式零次或一次 |
| | 将两个匹配条件进行逻辑“或”(or)运算。 |
{} | {}一般用来表示匹配的长度,比如 s{3} 表示匹配三个空格 |
{n} | n是一个非负整数。匹配确定的n次 |
{n,} | n是一个非负整数。至少匹配n次 |
{n,m} | m和n均为非负整数,其中n<=m,最少匹配n次且最多匹配m次 |
? | 当该字符紧跟在任何一个其他限制符(,+,?,{n},{n,},{n,m*})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。 |
[] | []是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字 |
- | 在[]中表示范围,相当于"至"的意思,例如[0-5]只匹配数字0到5 |
^ | 在[]中表示"非"的意思,例如[^0-5]表示除开0至5之外的所有字符 |
^ | 在一个正则表达式开始处使用,表示匹配的字符要以后面的字符开始,例如(Hello)表示匹配的字符要以Hello开始 |
$ | 在一个正则表达式结束处使用,表示匹配的字符要以(前面的字符结束,例如(Hello))表示匹配的字符要以Hello结束 |
. | 通配符,匹配除换行之外的所有字符 |
.* | 表示任意文本,匹配任意文本 |
更多相关资源: