Для пользователей Google (таких как я), которые ищут только: "регулярное выражение nth вхождение".Это вернет позицию последнего символа третьего 'foo' (вам нужно изменить {3}
на ваш n
и foo
на ваш текст):
length(regexp_replace('lorem ifoopsum foo lor foor1 ipsum foo dolor foo', '((?:.*?foo){3}).*$', '\1'))
This: (?:.*?foo)
ищетвсе, что следует за 'foo', затем повторяется 3 раза (?:.*?foo){3}
, затем захватывается строка от начала до (включая) 3-го повторения, затем остаток строки соответствует .*$
, затем вся строка заменяется захваченнойи длина его - позиция последнего символа 3-го 'foo'.