正则表达式

定义正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中提取出符合某个条件的子串等
组成 正则表达式有普通字符和特殊字符(元字符组成)

普通字符

普通字符由未显示指定为元字符的打印和非打印字符组成,包含所有的大小写字母字符,所有数字标点符号等

非打印字符

字符 含义
\cx 匹配由x指明的控制字符
\f 匹配一个换页符
\n 匹配换行符
\r 匹配回车符
\s 匹配任何空白字符
\S 匹配任何非空白字符
\t 匹配一个水平制表符
\v 匹配一个垂直制表符

特殊字符

特殊字符 说明
$ 匹配输入字符串的结尾位置。若设置了m标志则也匹配回车和换行
() 标记一个字表达式的开始和结束位置
* 匹配前面字表达式零次或多次
+ 匹配前面字表达式一次或多次
. 匹配出换行符之外的任何单字符
[ 标记一个中括号表达式的开始
? 匹配前面字表达式零次或一次
\ 转义
^ 匹配输入字符的开始位置,在方括号中表示不接受该字符集合
{ 标记限定符表达式的开始
| 指明两项之间的一个选择

限定符

字符 描述
* 匹配零次或多次
+ 匹配一次或多次
? 匹配零次或一次
{n} 匹配n次
{n,} 至少匹配n次
{n, m} 匹配n到m次