Articles of regex

java.util.regex: importancia de Pattern.compile ()?

¿Cuál es la importancia del método Pattern.compile() ? ¿Por qué necesito comstackr la cadena de expresiones regulares antes de obtener el objeto de Matcher ? Por ejemplo : String regex = “((\\S+)\\s*some\\s*”; Pattern pattern = Pattern.compile(regex); // why do I need to compile Matcher matcher = pattern.matcher(text);

¿Cómo hacer una copia de seguridad de las selecciones “internas” de referencia (()) en una expresión regular?

¿Cómo respaldas el paréntesis interno de referencia en Regex? Los datos de muestra son una lista de precios de productos que muestra diferentes descuentos de precios en función de la cantidad comprada. El formato es quantityLow – quantityHigh: pricePer; múltiplos. Usé LINQPad para construir esta expresión Regex C # para separar las partes, lo que […]

Regex AlphaNumeric simple (espaciado simple) sin retrotracción catastrófica

Tengo la siguiente expresión REGEX (que funciona) para permitir Alpha-Numeric (así como ‘ y – ) y sin espacio doble: ^([a-zA-Z0-9’-]+\s?)*$ Debido a la agrupación anidada, esto permite que ocurra un retroceso catastrófico, lo que es malo. ¿Cómo puedo simplificar esta expresión para evitar el retroceso catastrófico? (Idealmente, esto no permitiría espacio en blanco en […]

¿Por qué importa el orden de las alternativas en expresiones regulares?

Código using System; using System.Text.RegularExpressions; namespace RegexNoMatch { class Program { static void Main () { string input = “a foobar& b”; string regex1 = “(foobar|foo)&?”; string regex2 = “(foo|foobar)&?”; string replace = “$1”; Console.WriteLine(Regex.Replace(input, regex1, replace)); Console.WriteLine(Regex.Replace(input, regex2, replace)); Console.ReadKey(); } } } Rendimiento esperado a foobar b a foobar b Salida real a […]

Validación de contraseña regex

Estoy tratando de obtener una expresión regular que haga lo siguiente: se asegura de que no haya caracteres en el espacio en blanco longitud mínima de 8 se asegura de que haya al menos: un personaje no alfa un personaje en mayúscula un carácter minúsculo Encontré esta expresión regular: ((?=.*[^a-zA-Z])(?=.*[az])(?=.*[AZ])(?!\s).{8,}) que se ocupa de los […]

Operaciones matemáticas en expresiones regulares

Necesito agregar un número a una referencia inversa mientras realizo una operación de reemplazo. P.ej. Estoy reescribiendo una URL www.site.com/doc.asp?doc=321&language=1 a www.site.com/headline/100321.article por ejemplo, haciendo un simple reemplazo pero necesito agregar 100.000 a la id del documento. Lo que tengo a continuación funciona hasta ahora sin agregar nada. s/.*doc=(\d+).*/www.site.com\/headline\/$1.article/g; ¿Pero cómo puedo agregar 100,000 a […]

Buscar ‘palabra’ no seguida por ‘@’

¿Cuál es la expresión regular para buscar cadena de word que no va seguida del símbolo @ ? Por ejemplo: mywordLLD OK myword.dff OK myword@ld Exclude

Grupos de equilibrio en look-behind de longitud variable

TL; DR: El uso de capturas (y, en particular, grupos de equilibrio) dentro de las vistas de .NET cambia las capturas obtenidas, aunque no debería marcar la diferencia. ¿Qué pasa con las miradas de .NET que rompe el comportamiento esperado? Estaba tratando de encontrar una respuesta a esta otra pregunta , como una excusa para […]

Expresión regular para asp: RegularExpressionValidator con formato MMddyy (problema del año bisiesto)

Necesitamos ayuda para la expresión regular que funcione con asp.net asp: RegularExpressionValidator para validar la fecha en formato MMddyy. El problema al que nos enfrentamos es el año bisiesto. El problema es que es posible verificar a través de la expresión regular que solo acepta fechas válidas del año bisiesto, ya que el 29/02/2008 es […]

MongoDB reverse regex

Tengo un documento en MongoDB con un atributo de expresión regular { _id: ObjectId(“516023189732da20ce000004”), regex: /^(my|your)\s+regex$/ } y necesito recuperar este documento con algo como db.col.find({regex: ‘your regex’}) y db.col.find({regex: ‘my regex’}) . En MySQL lo haría: SELECT * FROM table WHERE ‘my regex’ REGEXP table.regex . ¿Cómo puedo lograr esto en MongoDB?