PHP断言

断言有四种:正向先行断言,负向先行断言,正向后行断言,负向后行断言

其中先行断言和后行断言的区别是找到满足patten的位置后是向前查找还是向后查找,先行断言找到满足patten位置后,是向前搜索看是否满足断言,而后行断言则是向后回溯查找,正向是满足条件,负向是不满足条件。这是我的理解。

测试字符串 $str = "http://www.baidu.com"

1.正向先行断言

形式: $patten(?=条件)

找到‘baidu’   正则:"\S+(?=\.com)"

2.负向先行断言

找到"com"   正则:"\S+(?!)"

形式: $patten(?!条件)

3.正向后行断言

形式: (?<=条件)$patten

4.负向后行断言

形式:(?!=条件)$patten

猜你喜欢

转载自www.cnblogs.com/tpwBlog/p/9434569.html