Página 1 de 1

[Dica] REGEXP

Enviado: Ter, 31 Mar 2015 12:25 pm
por dr_gori
É possível descobrir se um caracter é alpha, upper, pontuação, controle, espaço, etc, usando essa query:

Selecionar tudo

select CHR(level),
       decode(chr(level), regexp_substr(chr(level), '[[:graph:]]'), 1) is_graph,
       decode(chr(level), regexp_substr(chr(level), '[[:blank:]]'), 1) is_blank,
       decode(chr(level), regexp_substr(chr(level), '[[:alnum:]]'), 1) is_alnum,
       decode(chr(level), regexp_substr(chr(level), '[[:alpha:]]'), 1) is_alpha,
       decode(chr(level), regexp_substr(chr(level), '[[:digit:]]'), 1) is_digit,
       decode(chr(level), regexp_substr(chr(level), '[[:cntrl:]]'), 1) is_cntrl,
       decode(chr(level), regexp_substr(chr(level), '[[:lower:]]'), 1) is_lower,
       decode(chr(level), regexp_substr(chr(level), '[[:upper:]]'), 1) is_upper,
       decode(chr(level), regexp_substr(chr(level), '[[:print:]]'), 1) is_print,
       decode(chr(level), regexp_substr(chr(level), '[[:punct:]]'), 1) is_punct,
       decode(chr(level), regexp_substr(chr(level), '[[:space:]]'), 1) is_space,
       decode(chr(level), regexp_substr(chr(level), '[[:xdigit:]]'), 1) is_xdigit
  from dual
connect by level <= 300
A saída dessa query é uma matriz indicando com "1" onde o caracter se aplica. :-o

Re: [Dica] REGEXP

Enviado: Ter, 31 Mar 2015 12:52 pm
por tiago_pimenta
Show !!!