1、正则表达式的模式
(1)字面值字符
字母、数字、空格等可以直接匹配他们自己
(2)特殊字符
如点. 星* 加号+ 问号? 等有特殊含义
(3)字符类
方括号[]包围的字符集合,用于匹配方括号内的任意一个字符
(4)元字符
\d \w \s等 用于匹配特定类型的字符
(5)量词
{n} {n,} {n,m} 指定匹配的次数或范围
(6)边界符号
^ $ \b \B等用于匹配字符串的开头、结尾或单词边界位置
从一个最简单的例子开始
^[a-zA-Z0-9_-]{3,15}$
^:字符串开始的位置
[a-zA-Z0-9_-]匹配的字符为小写字母 大写字母 数字 下划线 连接符中的一种
{3,15}匹配次数为3到15次
$:字符结尾
2、正则表达式元字符和特性
字符匹配
- 普通字符
普通字符按照字面意义进行匹配 - 元字符
元字符有特殊含义,如\d匹配任意数字字符,\w匹配任意字母数字字符,.匹配任意字符
量词
*: 匹配前面的模式零次或多次
+:匹配前面的模式一次或多次
?:匹配前面的模式零次或一次
{n}:匹配前面的模式恰好n次
{n,}:匹配前面的模式至少n次
{n,m}:匹配前面的模式至少n次且不超过m次
字符类
[]: 匹配括号内的任意一个字符。例如[abc]匹配字符a、b或c
[^]: 匹配括号内的字符意外的任意一个字符 如 [^ abc]匹配abc之外的任意字符