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


PHP正则表达式:如何用正向预查和反向预查匹配特定字符串中的数字?


PHP正则表达式:如何用正向预查和反向预查匹配特定字符串中的数字?

正则表达式中的正向预查与反向预查

在匹配特定文本时,正向和反向预查是正则表达式中强大的工具。本文将探讨如何在 php 中使用正向和反向预查来执行一个特定任务:

任务:

给定字符串Java123pagejava456java789″,只想匹配后面不是 “page” 的 “java 数字”,并捕获匹配得到的数字。

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

正向预查:

java(d++)(?!page)

该正则表达式使用正向预查 (?!page) 来确保匹配的数字后面没有 “page”。

反向预查:

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

该正则表达式使用反向预查 (?

注意事项:

为了确保匹配精度,还建议使用负向后瞻 (?!d) 来排除匹配数字后面还有数字的情况:

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

匹配结果:

使用上述正则表达式,您可以匹配并捕获以下数字:

  • 123
  • 456
  • 789

相关阅读