GOOGLE ADS

sábado, 16 de abril de 2022

Regex encuentra comentarios hash excluye llaves

Quiero encontrar los comentarios hash que no contienen el texto entre llaves. Pero si comienza con #, son todos comentarios.

Aporte:

# This is comment 1
TEST # This is comment 2
{ # Not comment}; { # Not comment } # This is example 3
# This is comment 4
TEST Not comment
{ # Not comment}; { # Not comment } # This is comment 5
{# Not comment}; { # Not comment }={# Not comment} {# Not comment}={# Not comment} {# Not comment}={# Not comment} # This is comment 6
# This is comment 7 {# This is comment 8}
# This is comment 9
Not comment {Not comment}={# Not comment}

Producción:

# This is comment 1
# This is comment 2
# This is comment 3
# This is comment 4
# This is comment 5
# This is comment 6
# This is comment 7 {# This is comment 8}
# This is comment 9

Quiero poder lograr lo que quiero con una línea de expresión regular. Actualmente solo puedo encontrar todas las cadenas que comienzan con # por \{.*?}(*SKIP)(*F)|#[^#{}\n].* Sin embargo, no funciona en python (espero que no sea PCRE).

Si es posible, espero que se pueda hacer sin instalar el módulo 'regex' para analizar PCRE (Expresiones regulares compatibles con Perl).


Solución del problema

Puede corregir los separadores de inicio y final de línea en los límites de su expresión regular y luego buscar:


  • todas las cadenas que comienzan con a #y que no incluyen líneas nuevas:"(#[^\n]+)"


Precedido opcionalmente por:


  • cualquier carácter (que no sea una nueva línea) seguido de un espacio"(.+ )?"


Aquí está la expresión regular final:

"(^|\n)(.+ )?(#[^\n]+)"

Probado en https://regex101.com. Use la referencia inversa para recuperar su comentario dentro del Grupo 3.

¿Funciona para ti?

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...