加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 正则表达式(?<! - )是什么意思?

发布时间:2020-12-13 16:30:59 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试了解一段代码,并遇到了 PHP的preg_replace函数中使用的这个正则表达式. '/(?!-)color[^{:]*:[^{#]*$/i' 这个位…(?! - ) 没有出现在我的任何注册手册中.任何人知道这是什么意思? (Google没有返回任何内容 – 我不认为符号在谷歌中工作.) ?!在
我正在尝试了解一段代码,并遇到了 PHP的preg_replace函数中使用的这个正则表达式.
'/(?<!-)color[^{:]*:[^{#]*$/i'

这个位…(?<! - )
没有出现在我的任何注册手册中.任何人知道这是什么意思? (Google没有返回任何内容 – 我不认为符号在谷歌中工作.)

?<!在一个括号组的开始是一个 negative lookbehind.它断言,颜色字(严格来说,引擎中的c)之前没有一个字符.

所以,对于一个更具体的例子,它将匹配字符串中的颜色:

color
+color
someTextColor

但是它会失败,如 – 彩色或背景颜色.还要注意,引擎在技术上不会匹配c之前的任何一个,它只是断言它不是连字符.这可能是一个重要的区别取决于上下文(illustrated on Rubular with a trivial example;注意,只有最后一个字符串中的b匹配,而不是前面的字母).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读