Forum > Spanish

Expresiones regulares o formato de una cadena

(1/2) > >>

daragor:
Colegas, saludos a todos, acudo nuevamente para encontrar un poco de luz a una situacion que tengo en lazarus.

Creo q se puede con expresiones regulares con la unidad RegExpr, pero no se como hacerlo.
Lo que necesito es controlar una cadena, ingresada que puede ser de 2 formatos válidos distintos, y el resto se debe descartar

Suponiendo que los formatos son AB123CD y el otro ABC123 esos solamente! no hay simbolos, ni nada raro.. letras mayusculas y numeros
Si una cadena de la lista no contiene 1 de esos 2 formatos, se la descarga, uds podrían ayudarme a tener un algoritmo simple para realizar y recorrido y depurar?

Muchas gracias!

Edson:
Saludos.

¿Cuáles son los formatos que necesitas validar? A lo mejor no requieren expresiones regulares, pero sino, hay varias librerías disponibles por allí. https://wiki.lazarus.freepascal.org/Regexpr

Recuerdo haber usado alguna de ellas sin mayores problemas.

daragor:
Es cierto estimado, pero quiero hacer el proceso lo mas rapido posible, ahi en el primer post estan los formatos que necesito, son super sencillos.

1ro: Letra Letra Numero numero numero Letra letra
2do: letra letra letra numero numero numero
En ese orden siempre

Edson:

--- Quote from: daragor on November 17, 2021, 08:51:42 pm ---1ro: Letra Letra Numero numero numero Letra letra
2do: letra letra letra numero numero numero

--- End quote ---

En ese caso, es simple, puedes usar las siguientes expresiones:

[A-Z][A-Z]\d\d\d[A-Z][A-Z]

[A-Z][A-Z][A-Z]\d\d\d

daragor:
Excelente, ahora... perdón q no se nada de esta unidad, pude armar un ejemplo para usarla, que esta usando un if...  no se si es lo mejor pero anda perfecto!
En este caso solo controlo el primer formato de 7 digitos


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure Tf_main.Button1Click(Sender: TObject);var  Regex: TRegExpr;  cadena: string;begin  Regex:= TRegExpr.Create;  Regex.Expression:= '[A-Z][A-Z]\d\d\d[A-Z][A-Z]';  cadena:= trim(pla.Text);  if Regex.Exec(cadena) then    res.Caption:= 'Valida 7'  else    res.Caption:= 'Invalida!';end; 
era todo lo queria, edson, sos un grande, saludos!

Navigation

[0] Message Index

[#] Next page

Go to full version