Articles of regex

¿Cómo validar un nombre de usuario con regex?

Esto parece coincidir con las reglas que he definido, pero esta noche solo empiezo a aprender a usar expresiones regulares, así que me pregunto si es correcto. Reglas: Los nombres de usuario pueden consistir en minúsculas y mayúsculas Los nombres de usuario pueden consistir en caracteres alfanuméricos Los nombres de usuario pueden constar de guiones […]

La mejor expresión regular para la validación de correo electrónico en C #

He visto una multitud de expresiones regulares para diferentes lenguajes de progtwigción que pretenden validar direcciones de correo electrónico. He visto muchos comentarios que dicen que las expresiones en cuestión no funcionan para ciertos casos y que son demasiado estrictas o demasiado permisivas. Lo que busco es una expresión regular que pueda usar en mi […]

Pobre hombre “lexer” para C #

Intento escribir un analizador muy simple en C #. Necesito un lexer, algo que me permita asociar expresiones regulares con tokens, por lo que se lee en expresiones regulares y me devuelve símbolos. Parece que debería poder usar Regex para hacer el trabajo pesado, pero no veo una manera fácil de hacerlo. Por un lado, […]

Haga coincidir todo excepto cadenas especificadas

Sé que la siguiente expresión regular coincidirá con “rojo”, “verde” o “azul”. red|green|blue ¿Existe una manera directa de hacer que coincida con todo excepto varias cadenas especificadas?

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 […]