Ver Mensaje Individual
  #7  
Viejo 10/07/13, 19:06:48
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
La expresión regular de la solución adjunta considera que un alfanumerico es la combinación de cero o más numeros seguidos de 1 o más letras mayusculas o mínusculas en tanto que los numeros será la secuencia de 1 o más digitos:

alfanumerico = [0-9]*[A-Z|a-z]+
numero = [0-9]+


Cualquier otra cosa, incorporar espacios y cualquier otro caracter que necesites considerar o incluso que el string comienze con letras y luego números como alfanumerico tendrás que modificar la expresión regular.

Querdaría algo asi entonces:

data letranumero type string.
data offset type i.
data largo type i.
data letras type string.
data cnumeros type string.

letranumero = '12159CSXD56245'.

FIND REGEX '[0-9]*[A-Za-z]+' in letranumero MATCH OFFSET offset MATCH LENGTH largo.
letras = letranumero+offset(largo).
FIND REGEX '[0-9]+' in letranumero MATCH OFFSET offset MATCH LENGTH largo.
cnumeros = letranumero+offset(largo).

write / letranumero.
write / letras.
write / cnumeros.

Úlima edición por Mauricio Hidalgo fecha: 10/07/13 a las 19:36:08.
Responder Con Cita