Ich kann nicht so hier sqlfiddle Arbeit zu machen erreichen, ist mein einfacher Code:Erhalten zweite Vorkommen mit REGEXP_SUBSTR
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}') from dual;
ich SG SIN
erhalten mag. Ich weiß REGEXP_SUBSTR
einen Parameter bekam die n-te Auftreten erhalten verwendet, aber wenn ich
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}'),1,2) from dual;
schreiben es gibt nichts zurück und 1,1
kehrt EG SUZ SG SIN
so meine Vermutung ist, dass das Auftreten nicht richtig aufgeteilt ist, aber ich weiß nicht, warum, kannst du mir erklären?
ich es jetzt nicht versuchen kann, so bin ich das Hinzufügen einfach einen Kommentar. Sie können versuchen, die {2} aus der Regex zu entfernen, und versuchen Sie dann die REGEXP_SUBSTR (.... 1, 2). Ich glaube, das sollte funktionieren. –
@tamasrev, die nicht funktioniert. Ich habe auch versucht, die erste \ s zu löschen? aus der passenden Gruppe mit und ohne {2} – So4ne
in Ihrem ersten Regex sollte es 'REGEXP_SUBSTR wählen ('EG SUZ SG SIN blabla', '^ (\ s [AZ] {2} [AZ] {3} \ s?) {2} ') von Dual; ' – rock321987