Попробуйте найти и заменить в режиме регулярных выражений с включенной точкой все:
Find: (\$apple(?!.*\$apple)|\$orange(?!.*\$orange))
Replace: found
Демо
Чтобы понять, как выше чередование регулярных выражений, рассмотрим первую половину, которая охватывает поиск $apple
:
\$apple(?!.*\$apple)
Это будет соответствовать $apple
, но только если в тексте не может быть найдено другое вхождение (т.е. это последнее вхождение). Лог c для сопоставления с последним $orange
идентичен, но обратите внимание, что поиск $orange
будет запускаться только в том случае, если $apple
нигде не будет найдено.