Ver la Versión Completa : [ CONSULTA ] Mayor o menor número de coincidencias Regex
Buenas, juraría que lo leí en este foro en alguna ocasión, pero no he sido capaz de encontrar la respuesta.
Creo recordar que a la hora de buscar caracteres utilizando regex, hay una forma de indicar que busque el mayor número de coincidencias o el menor número de coincidencias. A ver si alguien puede echarme un cable con esto, porque no doy con la tecla.
Un saludo.
WillyWeb
02/08/17, 08:20:55
Creo que te refieres a los cuantificadores: interrogación, punto y asterisco. Prueba combinando el punto con uno de ellos.
https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular
https://regex101.com/
Creo que te refieres a los cuantificadores: interrogación, punto y asterisco
Gracias por contestar, pero no es eso.
Por ejemplo, en la cadena:
Cadena (2 dígitos cadena),Cadena (2 dígitos cadena),Cadena (2 dígitos cadena),Cadena (2 dígitos cadena)
Quiero buscar todos los (2 dígitos cadena)
Pero al utilizar \(\d\d.*\), busca desde el primer paréntesis hasta el último.
Al ser cadenas que pueden contener cualquier cantidad y tipo de caracteres, necesito utilizar me veía obligado a utilizar *
Y como he comentado, juraría que alguna vez ley que se podía indicar al regex que busque mayor o menor cantidad de coincidencias
Pero no me hagáis mucho caso, leo tantas cosas que me cuestan entender, que a veces me hago unos luis tremendos.
No obstante después de muchos intentos, lo he conseguido solucionar con una expresión regular un poco más compleja:
\(\d{1,2}\s.+\)
La traducción sería: paréntesis, uno o dos dígitos, espacio, cualquier caracter repetido una o más veces y paréntesis
Caravantes
02/08/17, 17:38:11
Por ejemplo, en la cadena:
Cadena (2 dígitos cadena),Cadena (2 dígitos cadena),Cadena (2 dígitos cadena),Cadena (2 dígitos cadena)
Si son grupos de caracteres separados por comas, siempre puedes utilizar la acción SEPARAR VARIABLE, utilizando la coma como separador. ASí obtienes una matriz con sub-variables. Luego haces un bucle para procesar todos los elementos de la matriz y chequeas si cada uno cumple la coincidencia Regex, anotando esas coincidencias en un contador.
No tengo ni idea de si habría una fórmula Regex que lo haga todo de un solo golpe.
Y tampoco estoy demasiado seguro de haberte entendido... quizá debieras poner un ejemplo.
Si son grupos de caracteres separados por comas, siempre puedes utilizar la acción SEPARAR VARIABLE
El problema es que las cadenas de texto, también pueden contener comas.
No tengo ni idea de si habría una fórmula Regex que lo haga todo de un solo golpe.
Si, como he comentado, al final lo he logrado con una expresión regex un poco más completa.
No obstante después de muchos intentos, lo he conseguido solucionar con una expresión regular un poco más compleja:
\(\d{1,2}\s.+\)
La traducción sería: paréntesis, uno o dos dígitos, espacio, cualquier caracter repetido una o más veces y paréntesis
Únicamente que pensé que se podía hacer lo que he comentado en el primer mensaje del hilo, pero el hecho que a vosotros no os suene, me da que pensar que estaba equivocado. No obstante si encuentro alguna información relativa a esto, lo comentaré aquí.
Un saludo y gracias.
GraphicAdventure
02/08/17, 21:54:27
El carácter ? detrás de un cuantificador hace lo que quieres.
Creo que te refieres a este mensaje, lo leíste aquí en un tema tuyo:
Perfil WhatsTasker - Autovoice (http://www.htcmania.com/showpost.php?p=16924088&postcount=35)
Hay una forma de indicarle que se quede con la coincidencia mas corta creo porque por defecto busca la mas larga (creo). Si te interesa dímelo y lo busco.
Enviado desde mi YD201 mediante Tapatalk
GraphicAdventure justo me refería a ese hilo. Mira que Willyweb lo había dicho desde un principio y yo confundido, le contesté que no.
La confusión viene porque habitualmente le doy otro uso a la interrogación, concretamente la uso detrás de caracteres que quiero que sean opcionales. Y en Wikipedia que es donde suelo recurrir para buscar información sobre regex no hace referencia a lo que tú comentas relativo a la interrogación.
Pero era eso exactamente a lo que me refería. Muchas gracias, un saludo.
Gracias mlesir, pero ya me lo ha recordado GraphicAdventure, me refería a lo que comentó en el hilo que ha indicado.
WillyWeb
03/08/17, 11:09:56
[MENTION=1124367]... Mira que Willyweb lo había dicho desde un principio y yo confundido, le contesté que no.
Si es que no me hacéis caso :crybaby:
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.