-
正则表达式 = 普通字符 + 元字符(特殊字符)
-
字符
(1) 普通字符
所有大写字母
所有小写字母
所有数字
所有标点符号
一些其他符号
(2) 非打印字符
\n 换行符
\r 回车符
\s 任何空白字符(等价于[\f\n\r\t\v])
\S 任何非空白字符(等价于[^\f\n\r\t\v])
\t tab
\d 任意数字字符(等价于[0-9])
\D 任意非数字字符(等价于[^0-9])
\w 任意数字、字母、下划线字符(等价于[A-Za-z0-9_])
\W 任意非数字、字母、下划线字符(等价于[^A-Za-z0-9_])
(3) 特殊字符(有功能的字符)
-
特殊字符
(1) 子表达式
一个字符就可以是一个子表达式;()之间的部分也是一个子表达式
(2) 特殊表达式
$ 匹配输入字符串的结尾位置
^
1 匹配输入字符串的起始位置
2 在方括号中使用代表不接受该字符集合
() 标记一个子表达式的开始和结束位置
* 前面的子表达式出现0次或多次
+ 前面的子表达式出现1次或多次
? 前面的子表达式出现0次或多次
[ 标记一个方括号表达式的开始
{ 标记限定符表达式的开始
| 指明两项之间的一个选择
. 代表除换行符\n的任意单字符
(3)
__若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\ 放在它们前面__
-
限定符:代表一个给定组件必须要出现多少次才能满足匹配
(1) *
0次或多次
(2) +
1次或多次
(3) ?
0次或1次
(4) {n}
n次
(5) {n,}
大于等于n次
(6) {n, m}
大于等于n次,且小于等于m次
-
定位符
(1) ^
字符串起始位置
(2) $
字符串结尾位置
(3) \b
单词边界
(4) \B
非单词边界
-
方括号集合
(1) [xyz]代表x,y,z三个字母的集合
(2) [a-z]代表匹配指定范围内的任意字符
(3) 前面加上^代表非字符集合
例如 [^0-9]代表匹配不是0-9的字符
网友评论