regex - simbolos - validar expresion regular




¿Cuáles son algunas de las expresiones regulares más útiles para los programadores? (7)

Soy nuevo en expresiones regulares y acabo de empezar a aprender algo. Me preguntaba cuáles son algunas de las expresiones regulares más utilizadas por los programadores. Dicho de otra manera, me gustaría saber para qué sirven las expresiones regulares. ¿Cómo pueden ayudarme en mis tareas diarias? Preferiría conocer expresiones regulares útiles para la programación diaria , no usar expresiones regulares como la correspondencia de direcciones de correo electrónico.

¿Nadie? Gracias.

Edición : la mayoría de las respuestas incluyen expresiones regulares que coinciden con las direcciones de correo electrónico, URL, fechas, números de teléfono, etc. Tenga en cuenta que no todos los programadores tienen que preocuparse por estas cosas en sus tareas diarias. Me gustaría saber algunos usos más genéricos de las expresiones regulares , si los hay, que los programadores en general (pueden) usar independientemente del idioma en el que estén trabajando los dominios.


¿Cómo pueden ayudarme en mis tareas diarias?

Un uso diario para programadores podría incluir

  • Búsqueda / reemplazo de datos de muestra para propósitos de prueba
  • búsqueda en los archivos de registro de patrones de cadena (excepciones, por ejemplo)
  • buscando en la estructura de un directorio archivos de un determinado tipo (tan simple como dir *.txt hace esto)

por nombrar unos cuantos


  1. Email
  2. URL del sitio web
  3. Números de teléfono
  4. Código postal
  5. Alfanumérico (el nombre de usuario consiste en un número alfa y solo comienza con un carácter alfa
  6. Dirección IP

Ejemplos de expresiones regulares para

Entrada de decimales

  1. Enteros positivos ^\d+$

  2. Enteros negativos ^-\d+$

  3. Entero ^-?\d+$

  4. Número positivo ^\d*\.?\d+$

  5. Número negativo ^-\d*\.?\d+$

  6. Número positivo o número negativo ^-?\d*\.?\d+$

  7. Número de teléfono ^\+?[\d\s]{3,}$

  8. Teléfono con el código ^\+?[\d\s]+\(?[\d\s]{10,}$

  9. Año 1900-2099 ^(19|20)\d{2}$

  10. Fecha (dd mm aaaa, d / m / aaaa, etc.)

    ^([1-9]|0[1-9]|[12][0-9]|3[01])\D([1-9]|0[1-9]|1[012])\D(19[0-9][0-9]|20[0-9][0-9])$

IP v4:

    ^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]){3}$

Entrada alfabética

  • Nombre personal ^[\w.']{2,}(\s[\w.']{2,})+$
  • Nombre de usuario ^[\w\d_.]{4,}$
  • Contraseña al menos 6 símbolos ^.{6,}$
  • Contraseña o entrada vacía ^.{6,}$|^$
  • correo electrónico ^[_]*([a-z0-9]+(\.|_*)?)[email protected]([az][a-z0-9-]+(\.|-*\.))+[az]{2,6}$
  • dominio ^([az][a-z0-9-]+(\.|-*\.))+[az]{2,6}$

Otras expresiones regulares : Coincidir sin entrada ^$ - Coincidir con entrada en blanco ^\s\t*$ - Coincidir con nueva línea [\r\n]|$ - Coincidir con espacio en blanco ^\s+$ - Coincidir con URL = ^http\:\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}$


Esto dependerá completamente del dominio en el que trabaje. Para algunos, serán números de teléfono y SSN y otros para direcciones de correo electrónico, direcciones IP y URL. Lo más importante es saber cuándo necesita una expresión regular y cuándo no. Por ejemplo, si está intentando analizar datos de un archivo XML o HTML, generalmente es mejor usar una biblioteca diseñada específicamente para analizar ese contenido que intentar escribir algo por sí mismo.


Hasta cierre de etiqueta

([^<]*)

Seriamente. Uso combinaciones de esa manera con demasiada frecuencia para mayor comodidad ... Todos deberíamos deshacernos de expresiones regulares: es para peg-parsers, especialmente porque hay un buen estilo de gramática similar a expresiones regulares para ellos.


Piense en los campos de entrada que requieren validación, como códigos postales, números de teléfono, etc. Las expresiones regulares son muy utilizadas para validarlas. Además, eche un vistazo a este site , que contiene muchos tutoriales y muchos más ejemplos, algunos de los cuales les presento a continuación:

Rangos Numéricos. Dado que las expresiones regulares funcionan con texto en lugar de números, la coincidencia de rangos numéricos específicos requiere un poco de cuidado adicional.

Coincidencia con un número de punto flotante. También ilustra el error común de hacer que todo en una expresión regular sea opcional.

Coincidencia con una dirección de correo electrónico. Existe mucha controversia sobre qué es una expresión regular adecuada para hacer coincidir las direcciones de correo electrónico. Es un ejemplo perfecto que muestra que necesita saber exactamente qué está tratando de hacer coincidir (y qué no), y que siempre hay un equilibrio entre la complejidad y la precisión de expresiones regulares.

Coincidencia de fechas válidas. Una expresión regular que coincide con 31-12-1999 pero no 31-13-1999.

Encontrar o verificar números de tarjetas de crédito. Valide los números de tarjeta de crédito introducidos en su formulario de pedido. Encuentre números de tarjetas de crédito en documentos para una auditoría de seguridad.

Y muchas, muchas, muchas más aplicaciones posibles.


  • Dirección de correo electrónico
  • Sitio web
  • File-Paths
  • Números de teléfono / Fax / ZIP y otros números utilizados en negocios (números de química, ect.)
  • contenido del archivo (verifique si el archivo puede ser un archivo XML válido, ...)
  • Modificación de código y formateo (con reemplazo)
  • tipos de datos (GUID, análisis de enteros, ...)
  • ...




regex