Получить второе вхождение с помощью regexp_substr

Я не могу добиться, чтобы sqlfiddle работал, поэтому вот мой простой код:

select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}') from dual;

я хочу получить SG SIN, я знаю REGEXP_SUBSTR получил параметр, используемый для получения n-го вхождения, но когда я пишу

select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}'),1,2) from dual;

ничего не возвращает и 1,1 возвращается EG SUZ SG SIN так что я предполагаю, что происшествие не правильно разделено, но я не знаю почему, вы можете мне объяснить?

1 ответ

Решение

Это будет работать

select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '([A-Z]{2} [A-Z]{3}(\s|$))', 1, 2) from dual;
Другие вопросы по тегам