I know there is a negative lookahead regex that can match last occurrences of the string.
Example: replace last occurrences of string
I want to do something like
You want to use a negated character class here instead of .*?
.
The .*
inside of your lookahead assertion will match all the way up to the last occurrence of (...)
then backtrack consecutively keeping the succession order going.
preg_replace('/\([^)]*\)(?!.*\([^)]*\))/', '', $string);
To simplify this task, just retain everything up until the last occurrence instead.
preg_replace('/.*\K\(.*?\)/', '', $string);