php 正则表达式:正向预查与反向预查应用
我们希望从字符串 “java123pagejava456java789” 中匹配所有后面不紧跟 “page” 的 “java 数字” 模式,同时捕获数字部分。
正则表达式:
- 正向预查:
java(d++)(?!page)
登录后复制
- 反向预查:
(?<=java)d++(?!page)
登录后复制
- 更高级的限制:
为了避免匹配数字后面紧跟其他数字的情况,可以使用更高级的限制:
立即学习“PHP免费学习笔记(深入)”;
(?<=java)d+(?!d)(?!page)
登录后复制
说明:
- java:匹配 “java”。
- d :匹配一个或多个数字,捕获为组 1。
- (?!page):正向预查,确保匹配项后面不紧跟 “page”。
- (?
- (?!d):否定反向预查,确保捕获的数字后面没有其他数字。
以上就是PHP正则表达式:如何使用正向预查和反向预查匹配特定模式?的详细内容,更多请关注php中文网其它相关文章!