元字符是一种特殊字符,用来修饰前面的原子,不能单独出现。
* 表示前面原子可以出现 0次、1次 或 多次
+ 表示前面的原子可以出现 1次 或 多次 (最少出现一次)
? 表示前面的原子可以出现 0次 或 一次 (不能出现多次)
{} 用于自定义前面原子出现的次数
{m} m是一个整数,例:{5} 前面的原子必须出现5次,多一个少一个都不行。
{m,n} m和n都是一个整数,m要小于n,表示前面出现的原子最少出现m次最多出现n次,包括m和n
{m,} 表示前面的原子最少出现m次 最多无限次
. 默认情况下,表示除换行符外的任意一个字符
^ 在正则表达式的第一个字符出现,表示必须以这个正则表达式开始
$ 在正则表达式的最后一个字符出现,表示必须以这个正则表达式结束
| 表示或的关系,它的优先级是最低的,最后考虑它的作用。例如:girl|boy 匹配的是 girl和boy,而不是l和b
\b 表示一个边界
\B 表示一个非边界
( ) 重点
一、作为大原子使用
二、改变优先级,加上括号可以提高优先级
三、作为子模式使用,正则表达式不光对一个字符串只匹配一次, 全部匹配作为一个大模式,放到数组的第一个元素中,每个()是一个子模式按顺序放到数组的其它元素中。 可以取消子模式,就将()作为大原子或改变优先级使用,在括号中最前面使用?:就可以取消()表示的子模式。