Cómo dejar de tener miedo y enamorarse de las expresiones regulares

En el trabajo y en la vida cotidiana, estamos literalmente rodeados de textos: libros y artículos, cartas y chats, páginas web y códigos de programas. Por qué, la vida biológica en sí se basa en el ADN. Y para un trabajo eficaz en la búsqueda o modificación de texto, hace tiempo que se inventó una herramienta poderosa: las expresiones regulares o expresiones regulares. Sin embargo, por una serie de razones, no todos los usan, o los tratan solo cuando son forzados cuando es absolutamente necesario. En este artículo intentaré remediar esta triste situación.









Para encontrar funciones, reunirlas y forjarlas con una sola voluntad negra.



Ya hay una serie de buenos artículos sobre Habré que lo ayudarán a comprender los conceptos básicos:





, , .







, . , :







^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$&^()*])[a-zA-Z--0-9!@#$&^()*]{1,}$

      
      





. , . : « , ?».









, regex.





. Notepad++ (, – ).

, Ctrl+f, «Regular expression» !









Notepad++.



1.



(, ) « »











! «».

– . ( «Math Case»), . «», «», «» . , . , . , .







, , – . . , .







Se ha dado el primer paso y nada nos impide seguir adelante.









2. Caracteres comodín



Otra oportunidad común: es un comodín (comodín) y un asterisco " * ". Reemplaza cualquier número de caracteres válidos. El ejemplo más común es la búsqueda de archivos.







Digamos que queremos encontrar fotografías de unas vacaciones junto al mar. Para hacer esto, ingrese " * .png " en la barra de búsqueda y obtenga una lista de todas las fotos en la carpeta:









 .png
 .png
--, .png
 .png
 , -.png

      
      





Ya bueno. ¿Qué sucede si agregamos la palabra "mar" antes o después del asterisco?

mar * .png



 .png

      
      





* sea.png



--, .png

      
      





La siguiente opción devolverá lo que necesita:

* sea * .png



 .png
--, .png
 , -.png

      
      





«**.png» — , – - ( «.png» - «»), .







, , , . — «.*».









3. «.*»



– « , 0 ». « ». « ».







, , , , . , : «.*» «.*»»:











215 . …











, . «|»: :

(.*|.*)











, — 213. , , , « , .» .







, , :

(|)











. , . , , . , .







, , regex-.









Saruman entiende el poder en sus manos y no le teme. Por lo tanto, siempre está al tanto de todos los asuntos.



4. Número de repeticiones o cuantificadores



Ya hemos encontrado un cuantificador : el asterisco. Hay varias formas más de establecer la cantidad:

{4} cantidad exacta
{1,5} rango
{2,} desde el número hasta el infinito
{, 7} de 0 a numero


Algunos rangos de uso común tienen sus propios símbolos:

* o {0,} cualquier cantidad
? o {0,1} cero o uno
+ o {1,} hay al menos uno


Preguntemos con qué frecuencia se menciona la misma palabra en un párrafo:











2 — «(.*){2}» — 7 , — «(.*){3,}» — . «» 3 , «» «» «».









5.



( ) — . «\d», «\w», «[abc], «[1-9], «[.,?:;]».

, , :

«\d+» «\d{1,}» – :











. (37.), (. .) , 4 — \d{4}











1070 , 1421 — 351 .







.















: , , – , — . : . . «Replace»:











Ahora puede leer un libro con una traducción familiar. Pero tenga cuidado: el patrón de búsqueda puede coincidir no solo con la palabra deseada, sino también con una más larga que contenga la palabra deseada. Entonces, al reemplazar "dacha" por "aldea", inesperadamente podemos obtener "aldea" o "telealdea". Es aconsejable realizar primero una búsqueda utilizando la misma plantilla y comprobar los resultados. Complica la plantilla para una búsqueda más precisa. En el caso de "dacha" podemos agregar un espacio antes de la palabra y un espacio o signos de puntuación al final: " dacha [.,!?;:] ".



Práctica de uso



Para crear, editar o explorar expresiones regulares, recomiendo usar un editor en línea que le guste. Para mí, el más conveniente fue REGEX101 :









El anillo encuentra todas las definiciones de funciones en ISO C99 y, por lo tanto, es tan poderoso.



En la parte superior, ingresamos una expresión regular y en la parte inferior, el texto que estamos buscando. El editor resalta automáticamente las coincidencias encontradas, cuando pasa el cursor sobre una parte de la expresión, aparecen sugerencias que explican el significado y muchas otras funciones útiles. Para reemplazar, seleccione "Sustitución" en el panel izquierdo.



Conclusión



  • Utilice la búsqueda con más frecuencia para mayor comodidad y agilizar el trabajo.

  • Use un asterisco cuando busque archivos creando plantillas simples.
  • Comience a usar expresiones regulares simples en su trabajo diario a medida que adquiere experiencia y explora gradualmente nuevas funciones.


Por supuesto, este artículo solo toca la parte superior. Muchas funciones útiles y posibles problemas quedaron desatendidos. Pero si desea sumergirse en el mundo de las expresiones regulares más a fondo, además de libros de referencia y tutoriales en Internet, puede leer los siguientes artículos sobre Habré:





Hoy en día ya no puedo imaginar mi trabajo sin expresiones regulares, así como sin el método de impresión ciega. Todo lo que tenías que hacer era empezar a usarlo. Que es lo que deseo para ti.










All Articles