【发布时间】:2022-01-03 16:48:04
【问题描述】:
我有包含多个条目的大文件,例如
car.bus.bike:
car.bus.bike.vehicle
car.bus.bike
_car.bus.bike
'car.bus.bike'
我想匹配和替换 car.bus.bike 而不匹配最后一个 : 或不匹配有 .vehicle 或 match 带有任何前缀的位置。
所以最后我想用cat.mouse.dog 替换car.bus.bike 就像:
cat.mouse.dog:
car.bus.bike.vehicle
cat.mouse.dog
_car.bus.bike
'cat.mouse.dog'
我曾尝试匹配直到.,使用[^-_.]$,但它也匹配: 我尝试使用正向前瞻(?=\:) 或负向后视(?<!_),但每次它只涵盖一个案例。
【问题讨论】:
-
试试
\w+(?:\.\w+){2},你甚至可以要求preg_replace只在你传递等于$count参数时才替换一次1。