PHP正则表达式核心技术完全详解 第9节 [附加知识] 正则中的子模式别名 与 注释

作者:3#
在这里插入图片描述

子模式别名的命名语法


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);

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

喜欢的就关注 投币 点赞 一键三连吧!!!

猜你喜欢

转载自blog.csdn.net/windowsxp2018/article/details/107884495