PHP正则表达式核心技术完全详解 第9节 子模式别名 与 注释

作者:极客小俊 一个专注于web技术的80后
我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人!
CSDN@极客小俊,原创文章, B站技术分享
个人博客: cnblogs.com
前端html+css+javascript技术讨论交流群: 281499395
后端php+mysql+Linux技术交流群: 855256321

在这里插入图片描述

子模式别名的命名语法


preg_match() 和 preg_match_all() 都支持!

(?),(?'name')以及 (?P)了。 之前版本仅接受(?P)方式
案例图: 意思就是取一个别名 其中P是固定的,但不是必须加的,可以不加P
语法: (?P正则模式)
代码案例如下:

$subject=<<<EOF
a : 1 : 22
b : 2
c : 3
EOF;
$pattern='/(\w+) : (\d+) : (?P<last>\d{2})/';
preg_match($pattern, $subject,$result);
show($result);

PHP正则表达式中的注释:


(?#标记开始一个注释直到遇到一个右括号)
不允许嵌套括号。 注释中的字符不会作为模式的一部分参与匹配
语法: (?#注释文字)
一般情况下 除非正则表达式非常复杂,否则一般不会使用
案例代码如下:

$subject=<<<EOF
a : 1 : 22
b : 2
c : 3
EOF;
$pattern='/(?#第一个)(\w+) : (?#第二个)(\d+) : (?#第三个)(?P<last>\d{2})/';
preg_match($pattern, $subject,$result);
show($result);

其实这些东西把代码复制去执行以下就知道结果了 ,,

"点赞" "评论" "收藏"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习
关注 极客小俊 微信公众号 不定期更新免费技术干货


posted @ 2020-11-12 18:49  极客小俊GeekerJun  阅读(39)  评论(0编辑  收藏