正则表达式零宽度断言 原

redmaomail 2024-07-25 10:32 阅读数 73 #Joomla

红帽云邮外贸主机

正则表达式是一个十分有用的搜索匹配工具,比一般的搜索查找函数功能强很多。在今天的项目中就遇到了一个问题,体会很深。

遇到的问题


今天想将一个css文件的类名进行改写。因为css类名经常冲突的原因。就想到了使用替换。那么具体要替换什么呢?因为是类名,那么当然替换点了(.)。乍一看,挺不错的。但实际操作做就遇到了问题。比喻下面的代码片段:

.panel {
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

上面如果将. 替换为.zmax-  那么.panel类自然可以替换为.zmax-panel。很好的解决了我的问题,可是我发现0.05这个数字也替换成了 0.zmax-05了。这显然不是我需要的结果。

 

如何解决这个问题


进过仔细的分析,我发现我需要替换的. 应该是后一位必须是字母。也就是是说,如果有一个匹配能够判断后面是什么就匹配的话,那就匹配成功。这个就是本文开头提到的零宽度断言。他的意思是说,只有后面的某一些内容符合的情况下,这个正则才匹配。

关于零宽度断言的专业定义如下:

(?=exp),他断言自身出现的位置的后面能匹配表达式exp.


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机