详解正则表达式
发布时间:09/01 来源:未知 浏览:
关键词:
高级5 - 模式匹配的优先级
在使用正则表达式时,需要留意匹配的次序。平常雷同优先级 从左到右 停止运算,不一样优先级的运算 先高后低。各种操纵符的匹配次序优先级 从高到低 如下表所示。
次序 | 元字符 | 描写 |
---|---|---|
1 | \ | 转义字符 |
2 | () 、(?:) 、(?=) 、[] | 模式单元和原子表 |
3 | * 、+ 、? 、{n} 、{n,} 、{n,m} | 反复匹配 |
4 | ^ 、$ 、\b 、\B 、\A 、\Z | 边界线制 |
5 | | | 模式选中 |
实例
1. 字符转义
1问:要匹配字符串 333333\$33\33333
中的 \$
正则应当如何写?
2问:假如在 PHP 中 preg_match
函数离别用单引号和双引号的表达式来匹配上面的 \$
,如何写?
答案:
- 表达式需要的规则是
\\\$
- 用单引号表示上面的字符串
'/\\\\\\$/'
。(为利便查看我们拆分一下为'/\\ \\ \\ $/'
) - 用双引号表示上面的字符串
"/\\\\\\\$/"
。(为利便查看我们拆分一下为"/\\ \\ \\ \$/"
) - 问什么呢?
再答:
- PHP 中单引号不转义任何字符,但是惟独转义
\
,所以我们需要 6个\
来生成表达式。 双引号除了转义
\
之外,还需要多一个\
用来转义$
所以它 需要 7 个\
。
相关教程引荐:PHP视频教程
以上就是详解正则表达式的具体内容,更多请关注百分百源码网其它相关文章!