捕获分组与反向引用
字符 | 含义 |
---|---|
(x) | 匹配 x 并且捕获匹配项,又称捕获括号(capturing parentheses) |
\n | n 是一个反向引用(back reference),指向正则表达式中第 n 个括号(从左开始数)中匹配的子字符串 |
(?:x) | 匹配 x 不会捕获匹配项,称为非捕获括号(non-capturing parentheses) |
(?P<varname> x) | 命名分组,对捕获到的子模式命名,类似于关联模式(字典) |
数量词(Quantifiers)
字符 | 含义 |
---|---|
x{n,} | 前面的模式 x 连续出现至少 n 次时匹配 |
x(?=y) | 只有当 x 后面紧跟着 y 时,才匹配 x |
x(?!y) | 只有当 x 后面不是紧跟着 y 时,才匹配 x |
PHP预查
正向或反向预查都是非获取匹配,不进行存储供以后使用
字符 | 含义 |
---|---|
(?:pattern) | 正向预查 匹配结果 |
(?=pattern) | 正向预查 正向匹配 |
(?!pattern) | 正向预查 正向不匹配 |
(?<=pattern) | 反向匹配 |
(?<!pattern) | 反向不匹配 |