2008-10-15 32 views

Respuesta

40

Yo uso Mastering Regular Expressions de O'Reilly.

enter image description here

+2

lol, hice clic en este tema solo para publicar el enlace a este libro ... demasiado apropiado para la pregunta: P – mmcdole

+0

Esa imagen está pidiendo una macro/'tienda. –

+0

Mi 2p: los enlaces a los libros no deberían votarse tanto. Los recursos en línea (como los que menciono, por ejemplo) que podemos usar ahora son más agradables. De acuerdo, tengo un caballo en la carrera. – MrBoJangles

18

Te recomiendo la lectura Mastering Regular Expressions. Hace honor a su nombre.

+0

Este libro fue el primero que vino a mi mente. –

+0

@ J.J. Igual que aquí. Es un excelente libro –

+0

Buen enlace a cualquier cosa que no sea el libro que mencionas. Además, esta respuesta se dio cinco minutos antes que la tuya y el enlace al libro es correcto. – TomC

20

Éstos son algunos buenos recursos:

http://regexlib.com/

http://www.regular-expressions.info/

+0

¡regexlib es el camino a seguir! – Kon

+0

Sí, acabo de enganchar una expresión de validador de correo electrónico ayer. Gracias, colaborador anónimo de dicha expresión! – MrBoJangles

+0

Me gusta www.regular-expressions.info es genial. De vez en cuando, cuando quiero usar una expresión más oscura me refiero a este sitio ... – Cervo

2

Perl + Roberts Perl tutorial son la fuente de la mayor parte de mi capacidad de expresiones regulares.

4

Practica, practica, practica. Siempre he encontrado que Perl's manual page on regular expressions es una excelente referencia para todos los símbolos y comandos de expresiones regulares POSIX.

+1

También intente http://perldoc.perl.org/perlretut.html –

4

Además de los ya mencionados, puede probar el Regex Coach. He oído cosas buenas sobre eso.

7

Para dominarlos, no se detengan a leer acerca de ellos. Vaya a la lista de posts tagged regex y comience a resolver los problemas. No eche un vistazo a las respuestas hasta que esté listo.

15

tutoriales:

http://www.regular-expressions.info/tutorial.html - Una gran tutorial sobre expresiones regulares

probadores en línea:

http://osteele.com/tools/reanimator/ - anime a su expresión regular como un autómata, fresco!

http://regexpal.com/ - muy fresco y fácil de usar

http://www.fileformat.info/tool/regex.htm

Herramientas:

http://www.radsoftware.com.au/regexdesigner/

.Netos específicos:

http://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx

Java específica:

http://java.sun.com/docs/books/tutorial/essential/regex/

GeneXus X específica:

http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?4606

4

mucha Ahora nos hemos dado de punteros para aprender más sobre regulares expresiones, probablemente valga la pena citar a Jamie Zawinski:

Algunas personas, cuando se enfrentan con un problema, piensan "Lo sé, usaré expresiones regulares". Ahora ellos tienen dos problemas.

Parte del aprendizaje sobre las expresiones regulares es aprender cuándo no usarlas (y cuándo son apropiadas).

+0

Es lindo decir eso, pero hay casos en los que usar una expresión regular realmente es la respuesta correcta, especialmente en casos de uso más simples donde la expresión regular es bastante comprensible. –

+0

Excelente. He adoptado esto como una heurística, o regla general si no te gusta el sonido pedante de la palabra "heurística". – MrBoJangles

+1

John, pensé que era obvio (ampliado ahora) que no estaba diciendo que debías * nunca * usarlos. Hay momentos en que son la herramienta correcta. Desafortunadamente, eso también es un pequeño subconjunto de veces que las personas los prueban. – simon

4

Como señaló Simon. La parte más importante en el dominio de Regex es cuándo NO usar expresiones regulares, pero esa habilidad vendrá con el tiempo. Hasta entonces, utilice expresiones regulares cuando esté haciendo Word encuentra o en su favorito texto texteado o en Excel. En cualquier lugar que le dé esa opción, tómela hasta que tenga un buen manejo.

Además, conozca estos conceptos desde el principio.

  • codiciosos
  • perezoso
  • cuál es la diferencia entre "" y "\ w"
  • "\ b"
  • las clases de personajes corta a mano ("\ s", "\ d", etc)
6

guardo una copia de la Regular Expression Pocket Reference en la mano mientras Trabajo, me da la información breve que necesito sobre el uso de RegEx en una docena de idiomas disponibles.

+0

Esto parece estar agotado. –

+0

La próxima edición está disponible en http://oreilly.com/catalog/9780596514273/index.html. –

9

La mejor manera de dominar las expresiones regulares es usar en su trabajo diario. Use un editor con reconocimiento de expresiones regex. Recomiendo NotePad++. Utilice la funcionalidad de buscar y reemplazar con Regex habilitado.

Necesita saber lo básico para comenzar. Palabras, personajes, números, espacios en blanco. Son bastante fáciles de recordar. No entiendes todo bien la primera vez. Pero aprenderás cada vez que lo intentes.

Recuerde, a menos que lo use con regularidad, probablemente olvidará la expresión regular en un par de semanas.

2

he aprendido acerca aprendiendo Perl y usándolo para crear un analizador de archivos de configuración. Si quisieras hacer algo similar en estos días, sugeriría Ruby, que tiene un gancho similar para RE en él. Una vez que aprendí los conceptos básicos, descubrí que muchas de las herramientas que había estado utilizando tenían un excelente soporte de RE, si sabías usarlas. Es realmente muy poderoso.

Recomiendo mucho la referencia de bolsillo de expresiones regulares que otros han mencionado. Sería mucho más simple estar cerca para buscar algo rápidamente, como lo necesitarás hacer. Sin mencionar que muchas aplicaciones tienen formas ligeramente diferentes de implementar algunas partes de la misma (es decir, si debe tener el paréntesis de escape de barra invertida).

Si hace mucho procesamiento de texto, recomiendo aprender RE. Lo apreciarás.

2

asegúrese de entender los conceptos básicos. Puede obtener esto de una variedad de fuentes (dependiendo de su elección de sabor regex).

Puedes jugar con ellos en algo como this.

2

Nunca se puede dominar las expresiones regulares. Justo cuando crees que te das cuenta, son las expresiones regulares las que te han dominado.

+0

Sin mencionar el hecho de que los RegEx de Perl siguen obteniendo nuevas y útiles funciones. –

+0

En Mother Russia, las expresiones regulares te dominan. – MrBoJangles

1

arreglar errores en el libro de Jeff Friedl antes que él. Hasta que lo hagas, no dominas las expresiones regulares.

0

Si está trabajando en .NET, recomiendo this site para visualizar los resultados y ver cómo configurar su código.

1

Encontré que realmente me ayudó aprender cómo se implementaron bajo el capó. En realidad, estaba estudiando idiomas y diseño de compiladores que primero encontré expresiones regulares. Saber de dónde vienen y cómo se relacionan con las gramáticas, los DFA, los lexers, etc. Creo que es una gran ayuda. Especialmente ayuda con la depuración, ya que puede entrar en la mente de la expresión regular, por así decirlo.

Cuestiones relacionadas