Hello! 欢迎来到小浪资源网!

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


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

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

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

正则表达式

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

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

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

(?<=java)d+(?!d)(?!page)

说明:

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

相关阅读