界定符:正则表达式的开始和结束标志,//、##、{}一般不用避免歧义。
原子:最小匹配单位
可见原子:肉眼可见
不可见原子:肉眼不可见,空格 ,制表符 ,换行符 等
元字符
一、原子的筛选方式:
| 匹配一个或多个分支
[] 匹配方括号中的任意一个原子
[^] 匹配除方括号内原子之外的任意字符
二、原子的集合
. 匹配除换行符之外的任意字符 [^ ]
d 匹配任意一个十进制数字 [0-9]
D 匹配任意一个非十进制字符[^0-9]
s 匹配一个不可见原子[f v]
S 匹配一个可见原子[^f v]
w 匹配任意一个数字、字母、或下划线[0-9a-zA-Z_]
W匹配任意一个非数字、字母、或下划线[^0-9a-zA-Z_]
量词:
{n} 表示前面原子恰好出现n次
{n,} 表示前面原子最少出现n次
{n,m}表示前面原子最少出现n次,最多出现m次
* 匹配0次,1次,或多次前面的原子{0,}
+ 匹配1次,或多次前面的原子{1,}
? 匹配0次或1次前面的原子{0,1}
边界控制和模式单元
^ 必须以第一个字符为开始,前面不跟任何东西
$ 必须以最后一个字符为结束,后面不跟任何东西
() 模式单元,匹配其中的整体为一个原子,子模式
模式修正:
正则表达式之后跟
/U 懒诺匹配:匹配最短的结果
/u 贪婪匹配:匹配最长的结果(默认)
/i 忽略大小写
/x 忽略空白符
/s 让元字符 . 匹配包括换行符在内的所有字符