扫码关注官方订阅号
我记得?:和?=差不多啊,只不过?:捕获而?=不捕获
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
不知道你需求是怎样 单单从题目来看 其实差别不大
?=是正向前瞻 ?:是非捕获
如果是检查是否match,那么肯定都是返回true的,但如果你取 Full match 两种是不一样的。
要理解 Lookahead 的意义,它match到的是一个位置,而不是真正的字符
推荐一个测试 regex 的站https://regex101.com
用你提供的两个正则和 1333 测试分别结果
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
不知道你需求是怎样 单单从题目来看 其实差别不大
?=是正向前瞻 ?:是非捕获
如果是检查是否match,那么肯定都是返回true的,但如果你取 Full match 两种是不一样的。
要理解 Lookahead 的意义,它match到的是一个位置,而不是真正的字符
推荐一个测试 regex 的站
https://regex101.com
用你提供的两个正则和 1333 测试分别结果