【发布时间】:2018-03-22 14:16:05
【问题描述】:
preg_replace('/[^.]*$/','png','asdf.jpgea.jpg')
输出是asdf.jpgea.pngpng,为什么最后有两个png?
同时,
preg_replace('/\w$/','png','asdf.jpgea.jpg')
输出asdf.jpgea.jppng。
* 是否会影响 $ 的行为方式?
【问题讨论】:
-
这个问题已经被问过很多次了。
*使其匹配空字符串。$是零宽度断言,因此第一个匹配是字符串结尾之前的空字符串,第二个匹配是字符串本身的结尾。它不会影响所有的正则表达式风格,但会影响其中的大多数。
标签: php regex dollar-sign