Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Apoyo con expresion Regular

Estas en el tema de Apoyo con expresion Regular en el foro de Oracle en Foros del Web. Hola amigos, hace ya mucho tiempo que no paso por aquí. Tengo una pequeña duda sobre una expresión regular. La cuestión es la que sigue; ...
  #1 (permalink)  
Antiguo 11/06/2014, 10:43
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Apoyo con expresion Regular

Hola amigos, hace ya mucho tiempo que no paso por aquí. Tengo una pequeña duda sobre una expresión regular.
La cuestión es la que sigue; de una cadena tengo que reemplazar el signo # en caso de que el caracter que le sigua no sea numérico y dejar el signo en caso que le siga un número. Ej. si tengo

Pato #5 quedaría tal cual
Pato #Pat tendría que quedar Pato NPat

Lo que tengo hasta ahora es la siguiente expresión pero no me funciona ya que cuando tiene que reemplzar lo hace en dos posiciones. Ejm. Pato NNat

REGEXP_REPLACE('(#[^0-9])', 'N');

Alguna sugerencia?
  #2 (permalink)  
Antiguo 12/06/2014, 03:54
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Apoyo con expresion Regular

Mira a ver si te sirve esto :

Código SQL:
Ver original
  1. SELECT CASE WHEN 'ASDF#1ñLK' LIKE '%#%'
  2.             AND SUBSTR('ASDF#1ñLK',INSTR('ASDF#1ñLK','#')+1,1) IN ('0','1','2','3','4','5','6','7','8','9')
  3.             THEN REPLACE('ASDF#1ñLK','#','@')
  4.             ELSE 'ASDF#1ñLK'
  5. END
  6. FROM DUAL

Etiquetas: expresion, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.