Регулярное выражение Oracle Pl / Sql

Четыре обязательных шага, как описано в этом видео

    //1. Select desired files
    //2. Target/Build Phases/Compile Sources
    //3. Type -fno-objc-arc
    //4. Done

0
задан Milton 16 January 2019 в 12:30
поделиться

2 ответа

declare
lvc_direccion varchar2(200);
lvc_Inmueble  varchar2(2000);
begin
lvc_direccion := 'BL 93 IN 4 AP 401 PABLO VI II SEC';
lvc_Inmueble := REGEXP_SUBSTR (lvc_direccion, '(CONJ|ADL|ALD|ALM|APO|ATR|CAS|CEN|CLJ|CON|ESQ|FCA|TER|URB|VRD|AG|CA|CC|CD|ED|EX|HC|IN|OF|PJ|UN|UR|ZF|C){1}.*?((TERPLN|SUITE|AGP|ALM|CEL|MLL|PAR|POR|POS|PRJ|SEC|AD|AL|AP|BG|BL|CA|CS|DP|DS|ED|EN|ET|GJ|GS|GT|HG|LC|LM|LT|MD|MJ|MN|MZ|OF|PA|PD|PH|PL|PN|PQ|PS|PT|PW|RP|SA|SC|SD|SL|SS|ST|TO|TZ|ZN|P))');


dbms_output.put_line( lvc_Inmueble);
end;

ВЫХОД: IN 4 AP

Конец строки не нужен

0
ответ дан q4za4 16 January 2019 в 12:30
поделиться

Добавьте конец строки $ в качестве одного из суффиксов имени типа к своему регулярному выражению:

DECLARE
  lvc_direccion varchar2(200) := 'BL 93 IN 4 AP 401 PABLO VI II SEC';
  lvc_Inmueble  varchar2(2000);
  p_prefixes    VARCHAR2(500) := 'CONJ|ADL|ALD|ALM|APO|ATR|CAS|CEN|CLJ|CON|ESQ|FCA|TER|URB|VRD|AG|CA|CC|CD|ED|EX|HC|IN|OF|PJ|UN|UR|ZF|C';
  p_suffixes    VARCHAR2(500) := 'TERPLN|SUITE|AGP|ALM|CEL|MLL|PAR|POR|POS|PRJ|SEC|AD|AL|AP|BG|BL|CA|CS|DP|DS|ED|EN|ET|GJ|GS|GT|HG|LC|LM|LT|MD|MJ|MN|MZ|OF|PA|PD|PH|PL|PN|PQ|PS|PT|PW|RP|SA|SC|SD|SL|SS|ST|TO|TZ|ZN|P';
  p_regexp      VARCHAR2(1100) := '(' || p_prefixes || ').*?(' || p_suffixes || '|$)';
BEGIN
  lvc_Inmueble  := REGEXP_SUBSTR( lvc_direccion, p_regexp );

  DBMS_OUTPUT.PUT_LINE( lvc_Inmueble );
END;
0
ответ дан MT0 16 January 2019 в 12:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: