¿Cuáles son los mejores recursos para aprender expresiones regulares?

En primer lugar, recuerda que Regex no es tan difícil . El código Regex, a primera vista, se ve como una tontería y, a menudo, se siente desalentador. ¡Pero una vez que empieces a aprenderlo, pronto te darás cuenta de que no es tan complicado como parece!

De vuelta a la pregunta principal: aprendí / estoy aprendiendo Regex en python (aunque es el mismo en todos los idiomas) usando los siguientes recursos en línea:

Paso 1: Leer

Comience con este tutorial. Expresión regular Es muy fácil de entender. No tenía experiencia previa en Regex antes y encontré que este sitio es extremadamente amigable para los novatos.

Pero recuerda seguir ejecutando los comandos en tu terminal. No se limite a leer (al contrario del título, lo sé). Esta respuesta lo enfatiza bastante bien: la respuesta de Marcus Geduld a “No entiendo en absoluto la programación de computadoras”. Siento que hay tantas cosas que aprender. ¿Alguna sugerencia?

Paso 2: Revisar

Después de seguir el tutorial anterior, repase rápidamente todas las páginas de la Lección 1: Introducción y el ABC. Mejor aún, resuelva todos los problemas interactivos en el sitio web.

Esto te ayudará a conservar lo que acabas de aprender en el primer tutorial. Al principio, Regex parece un poco intimidante, ya que necesitas memorizar algunos comandos, pero si sigues este paso, ¡estarán muy arraigados en tu mente antes de que te des cuenta!

Paso 3: recordar

Este paso es más de práctica. Hackerrank es la excelente opción para esto: HackerRank

Tiene explicaciones y problemas, por lo que puede recordar todos los comandos que aprendió mientras lo practicaba. Un hecho interesante que me gusta de este sitio es que le proporciona un subdominio de “Aplicaciones” para que no termine sintiéndose limitado a los aspectos teóricos de Regex.

Otros recursos:

  • Mientras realiza los pasos anteriores, consulte la documentación oficial si se atasca. 7.2. re – Operaciones de expresiones regulares – Documentación de Python 2.7.11 (si está usando python)
  • También puedes probar con JavaScript, Python, PHP y PCRE (regex101). Es un probador y depurador de expresiones regulares en línea. Aunque siempre podría ejecutar expresiones regulares en el terminal / IDE, recomendaría usar esto. Proporciona una explicación en tiempo real del comando que está utilizando y reduce considerablemente la curva de aprendizaje.

¡Espero que esto ayude! 🙂

Puede que esta no sea una respuesta real a su pregunta, pero considérela un suplemento.

Si eres como yo, lo mejor que puedes hacer es encontrar algo que quieras hacer que incluya expresiones regulares, y buscarlo hasta que funcione.

Intente hacer algunos raspadores de sitios web de expresiones regulares en Ruby (que tiene una sintaxis muy natural y perl-ish) o Python (que es muy estructurado y con todas las funciones). Elija una sección de Craiglist y haga algo que extraiga los títulos y los precios de los autos o lo que sea. Sí, sé que la expresión regular no es la forma preferida de trabajar con HTML, pero es un ejercicio.

No le dará una comprensión profunda de la mecánica que lo hará la lectura de un libro, pero tendrá una base funcional y práctica para seguir adelante.

Para una experiencia extra, haz lo anterior en vim.

La expresión regular es un patrón que coincide con el texto. Vamos a simplificarlo palabra por palabra. Para entender la expresión regular, necesitamos entender qué es el patrón. Cuando encuentras cosas que suceden en un orden repetidamente, eso es un patrón. Por ejemplo, cada tercer vaso en una fila de 100 vasos es de color azul, por lo que es un patrón de vidrio azul que se sigue hasta que el conteo de vidrio alcanza su límite. Un ejemplo, que siempre hemos ignorado pero que aprendimos inconscientemente es LINE. La línea está formada por palabras con espacios entre ellas y termina con alguna puntuación, por lo que hay un patrón en ella. Hay muchos ejemplos como la URL, los números de teléfono, las horas de trabajo de un empleado en una empresa y muchos más. Entonces, si somos capaces de encontrar un patrón a partir de un texto dado, entonces podemos desarrollar una expresión para extraer los datos que coincidan con el texto completo y esa expresión que llamamos Expresión Regular.

Puedes aprender más en:

Expresiones regulares – Galleta de talentos

Expresiones y terminologías regulares avanzadas – Cookie de talento

Practiquemos la Expresión Regular – Galleta de Talento

e incluso ponte a prueba en:

Evaluación Regex – Galleta de Talento

A algunas personas que conozco les gusta el tutorial Learn Regex the Hard Way, aunque está en estado alfa y carece de descripciones de algunos aspectos de las expresiones regulares. Le brinda una introducción rápida a las expresiones regulares y lo pone en funcionamiento rápidamente.

Si no solo quieres saberlo, sino dominar las expresiones regulares (que requerirían mucha experiencia), el único tutorial que conozco es el de http: //www.regular-expressions.i … – es muy completo e incluso entra en detalles sobre cómo el motor de expresiones regulares procesa la cadena y, por lo tanto, cómo optimizar el rendimiento de su expresión regular.
Para darle una idea de la extensión de los tutoriales, sepa que, si está impreso, ¡tiene alrededor de 300 páginas A4!

Una forma divertida de aprender, o más bien de consolidar el conocimiento que ya obtuvo, es hacer algunos crucigramas de expresiones regulares … que son simplemente crucigramas en los que las sugerencias son expresiones regulares: no debería tener dificultades para encontrar algunos si lo busca.

Comenzar con 7.2. re – Operaciones de expresiones regulares: documentación de Python v2.7.7 para conocer los conceptos básicos de expresiones regulares.
Luego retírese con el Capítulo 7. Expresiones regulares y re – Expresiones regulares

Cuando crees que tienes una buena comprensión de expresiones regulares

Tratar:

  • Regex para URL que aceptan http, https, ftp urls,
  • Números telefónicos de los Estados Unidos
  • Direcciones de correo electrónico, direcciones
  • Extraer información de etiquetas HTML usando expresiones regulares
  • Al igual que yo, también puedes intentar descargar una lista de títulos de películas de 1k torrent como: 300 Rise of an Empire (2014) 1080p YIFY torrents. Luego, intenta extraer el año, la resolución, el título usando grupos e ignorando palabras como YIFY, PublicHD, ChinaHD, que son irrelevante para el titulo.

Eso debería dar una comprensión básica de expresiones regulares.

Los siguientes son los mejores recursos para aprender y practicar RegEx.

Aprender:

  • Código Escuela – Tutorial de Expresión Regular | Código de la escuela
  • Lynda – Uso de expresiones regulares
  • regexone.com

Práctica:

  • regexr.com
  • regex101.com

El problema con el aprendizaje de las expresiones regulares es que necesitas práctica suficiente para dominarlas. De lo contrario, aprenderá la expresión regular cada vez que se encuentre con un problema relacionado.

Aquí hay un recurso que tiene una buena colección interactiva de ejercicios que están muy cerca de la vida real:
http://regextutorials.com/
Si completa todos los ejercicios en varias sesiones, debe ser lo suficientemente bueno como para fines prácticos.

Nada menos que Perl es un maestro de expresiones regulares. Puede consultar la documentación oficial de expresiones regulares en el sitio web oficial de Perl. Aquí hay un enlace http://perldoc.perl.org/5.10.1/perlre.html En este sitio web, obtendrá un conocimiento profundo de RegExp. También puedes aprender POSIX estándar RegExps.

Otros lenguajes siguen las reglas de expresión regular de Perl. Llamadas así como bibliotecas de expresiones regulares compatibles con Perl (PCRE). Estas bibliotecas son utilizadas por otros idiomas para definir RegExps.

Una vez que haya terminado, las expresiones regulares son una parte fácil e interesante de la programación sin la cual la programación web está incompleta. Casi todas las bibliotecas y marcos de JavaScript usan expresiones regulares en gran medida, incluido AngularJS.

La mejor de las suertes…

Las expresiones regulares en el mundo salvaje son gruesas y rápidas, como en muchos idiomas hay muchos dialectos y muchas sutilezas.

Dicho esto, las expresiones regulares no son magia negra, como la mayoría de los idiomas que aprenden las reglas básicas y la práctica suficiente te harán bastante competente con ellas.

Le recomiendo que comience con el dialecto PCRE, que es estándar en la mayoría de los idiomas, como Perl, Python, PHP, Javascript, etc.

El tutorial de python sobre Expresiones regulares, COMO de expresión regular, está muy bien escrito.

Otra que encontré y me gustó fue por regexone: Lección 1: Introducción, y el ABC

Una vez que haya descubierto lo básico, puede practicar crucigramas, https://regexcrossword.com/&nbsp ;

Descubrí que Rubular ( http://rubular.com/ ) es un recurso increíble para aprender expresiones regulares y usarlas día a día. Es un cuadro de diálogo interactivo en el que puede escribir un texto de muestra y una expresión regular, luego ver qué se compara en tiempo real. También hay una hoja de trucos de expresiones regulares comunes.

Una herramienta muy útil!

Estas herramientas utilizadas en conjunto deben ser un buen comienzo:

Expresión regular howto

Herramienta Python Regex

Expresiones regulares de Python

Aprende expresiones regulares con ejemplos interactivos.

El libro de O’Reilly sobre Expresiones regulares es absolutamente magnífico. Te ayudará a desarrollar una comprensión mucho más profunda de cómo funciona realmente que cualquier tutorial en línea que haya visto.

El capítulo 3 de “Procesamiento de texto en Python” también es excelente, y está disponible de forma gratuita en línea:

http://gnosis.cx/TPiP/chap3.txt

La mejor manera de aprender expresiones regulares es comenzar a escribirlas. Utilizo algunos de estos recursos muy útiles cuando escribo expresiones regulares (lo cual no es una habilidad que necesite en el día a día)

Regex Tester – Javascript, PCRE, PHP
un editor de expresiones regulares de Ruby
Pruebas en línea de expresiones regulares (Regex) y libro de cocina para: Go, Haskell, Java, JavaScript, .Net, Perl, PHP, Python, Ruby, Tcl y XRegExp
RegExr: Aprender, construir y probar RegEx

Me costó un poco entender la sintaxis de expresiones regulares de Javascript y la bandera global, esta página en davidwalsh.name fue útil.

Encontré un curso de Expresiones Regulares en udemy. Este curso está disponible por $ 10. Este curso enseña cómo dominar las expresiones regulares desde cero. Después de aprender casi todos los temas sobre expresiones regulares, también creará estas ocho expresiones regulares paso a paso.

  • Los nombres
  • Códigos postales
  • URLs
  • Tarjeta de crédito
  • Email
  • Etiquetas HTML
  • Direcciones IP
  • Contraseña

Puedes comprar este curso por solo $ 10 desde aquí y dominar las expresiones regulares.

Compra el curso Master Regular Expressions por solo $ 10

Hay muchos recursos disponibles en línea para aprender expresiones regulares. Las expresiones regulares no son tan difíciles de aprender. Puedes comenzar aprendiendo tutoriales desde aquí.

Tutoriales de expresiones regulares

Para probar Regex, puede utilizar este comprobador de expresiones regulares disponible aquí

Online Regex Tester para Javascript y PCRE

Espero que estos recursos lo ayuden a dominar las expresiones regulares.

No es una respuesta popular, pero en mi humilde opinión, el mejor recurso para aprender Regular Expressions es el libro “Mastering Regular Expressions (3ª edición)” por Jeffrey EF Friedl

http://www.regular-expressions.info es un recurso en línea que también es muy bueno y está escrito por Jan Goyvaerts, que es coautor (junto con la leyenda del regex Steven Levithan) del libro “Libro de cocina de expresiones regulares”.

Jan también creó el programa de expresiones regulares basado en Windows “RegexBuddy”, que trágicamente no está disponible en ninguna otra plataforma. Este programa tiene características increíblemente buenas. La mejor característica es una herramienta de rendimiento / retroceso de expresiones regulares. Bien vale la pena comprar si estás en una máquina con Windows.

ACTUALIZACIÓN: ¡una herramienta de regex de retroceso en línea ya está disponible! http://www.regexter.com/

He escrito un tutorial sobre expresiones regulares con sintaxis y mecánicos relacionados con Javascript. Además, se discuten varios métodos utilizados para procesar texto. Checkout Javascript Regular Expressions – Una guía detallada

Encontré este tutorial muy útil
No sabes nada acerca de las expresiones regulares: una guía completa

nettuts también ofrece un curso sobre expresiones regulares
Expresiones regulares: En marcha y funcionando

“La mejor manera de aprender es haciendo”
Así que para practicar regex puedes usar esta increíble aplicación web.
http://gskinner.com/RegExr/

Algo mas especializado

Sigue la siguiente secuencia para aprender expresiones regulares.

  1. Mira estos videos. Estos videos explicarán muy bien los conceptos.
  2. Resuelve problemas de expresiones regulares en HackerRank.
  3. Si está dispuesto a aprender más, vaya al libro de cocina de expresiones regulares

Buena suerte. Seguir preparando

Las expresiones regulares son extremadamente simples de entender y aprender. Simplemente lea cualquier libro de texto sobre Diseño de compiladores y estoy seguro de que entenderá las expresiones regulares con bastante comodidad. Son sencillos, lógicos y extremadamente elegantes.

¡La mejor de las suertes!