Tengo esta expresión regular aquí;
\[sometag\](.*)\[/sometag\]
Que se supone que atrapa el texto rodeado por la [sometag]
etiqueta. Funciona para la información de una sola línea contenida en estas etiquetas, como en la cadena [sometag]this is a bit of text[/sometag]
. Pero no funciona en texto que abarca varias líneas, como esta;
[sometag] here is more text
it spans more than one line [/sometag]
Por alguna razón, el buscador de expresiones regulares de Sublime text no reconocerá las etiquetas en varias líneas. Quiero saber si esto es un problema con Sublime Text, una opción que se puede alternar o simplemente mi incompetencia personal con expresiones regulares.
regex
tags
sublimetext
Maurdekye
fuente
fuente
?
después*
hará un partido no codicioso. Considere[b]foo[/b]foo[b]bar[/b]
como ejemplo.\[b\].*\[\/b\]
coincidiría con el conjunto desde el inicio b hasta el último cierre b.?
en este regex101.com/r/gI0xC3/2Si la modificación del modo de punto es inadmisible por alguna razón, puede tomar eso:
fuente
(.|\n)+?
si tiene acceso al modificador DOTALL. Si no puede usar(?s)
en algo de mal gusto, use[\s\S]
/[\d\D]
/[\w\W]
, pero no el patrón de alternancia sugerido aquí. Este patrón es altamente ineficiente y puede conducir fácilmente a un problema de tiempo de espera.[\s\S]
, pero de un vistazo(.|\n)
parece equivalente? ¿Tiene que ver con grupos coincidentes? Pero entonces(?:.|\n)
sería lo mismo?