Получить второе вхождение с помощью 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;