2024-12-01

PHP正则表达式:如何使用正向预查和反向预查匹配特定模式?

php正则表达式:如何使用正向预查和反向预查匹配特定模式?

php 正则表达式:正向预查与反向预查应用

我们希望从字符串 “java123pagejava456java789” 中匹配所有后面不紧跟 “page” 的 “java 数字” 模式,同时捕获数字部分。

正则表达式:

  • 正向预查:
java(d++)(?!page)
登录后复制
  • 反向预查:
(?<=java)d++(?!page)
登录后复制
  • 更高级的限制:

为了避免匹配数字后面紧跟其他数字的情况,可以使用更高级的限制:

立即学习PHP免费学习笔记(深入)”;

(?<=java)d+(?!d)(?!page)
登录后复制

说明:

  • java:匹配 “java”。
  • d :匹配一个或多个数字,捕获为组 1。
  • (?!page):正向预查,确保匹配项后面不紧跟 “page”。
  • (?
  • (?!d):否定反向预查,确保捕获的数字后面没有其他数字。

以上就是PHP正则表达式:如何使用正向预查和反向预查匹配特定模式?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1122905.html

发表回复

Your email address will not be published. Required fields are marked *