PHP正则表达式中,如何运用正向预查和反向预查进行匹配?

2026-05-23 08:431阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1127个文字,预计阅读时间需要5分钟。

PHP正则表达式中,如何运用正向预查和反向预查进行匹配?

了解正则预查和预置,首先要知道正则表达式中的两个函数:preg_match_all 和 preg_replace。正则预查和预置都是非获取性匹配,不进行存储,直接使用。

1. 正向预查(Positive Lookahead): (?=(pattern)) 例如:`(?=(\d{3}-\d{2}-\d{4}))` 匹配任何包含XXX-XX-XXXX格式的字符串,但不包括XXX-XX-XXXX本身。

2. 反向预查(Negative Lookahead): (?!pattern) 例如:`(?!(\d{3}-\d{2}-\d{4}))` 匹配任何不包含XXX-XX-XXXX格式的字符串。

了解正向预查&反向预查前,我们先要知道正则的2个函数:preg_match_all 、 preg_replace

正向预查&反向预查

正向或反向预查都是非获取匹配,不进行存储供以后使用。

1、正向预查

(?:pattern) 匹配结果

(?=pattern) 正向匹配

(?!pattern) 正向不匹配

2、反向预查

(?<=pattern) 反向匹配。

(?<!pattern) 反向不匹配。

阅读全文

本文共计1127个文字,预计阅读时间需要5分钟。

PHP正则表达式中,如何运用正向预查和反向预查进行匹配?

了解正则预查和预置,首先要知道正则表达式中的两个函数:preg_match_all 和 preg_replace。正则预查和预置都是非获取性匹配,不进行存储,直接使用。

1. 正向预查(Positive Lookahead): (?=(pattern)) 例如:`(?=(\d{3}-\d{2}-\d{4}))` 匹配任何包含XXX-XX-XXXX格式的字符串,但不包括XXX-XX-XXXX本身。

2. 反向预查(Negative Lookahead): (?!pattern) 例如:`(?!(\d{3}-\d{2}-\d{4}))` 匹配任何不包含XXX-XX-XXXX格式的字符串。

了解正向预查&反向预查前,我们先要知道正则的2个函数:preg_match_all 、 preg_replace

正向预查&反向预查

正向或反向预查都是非获取匹配,不进行存储供以后使用。

1、正向预查

(?:pattern) 匹配结果

(?=pattern) 正向匹配

(?!pattern) 正向不匹配

2、反向预查

(?<=pattern) 反向匹配。

(?<!pattern) 反向不匹配。

阅读全文