tengo este texto y quiero capturarRegEx Cómo encontrar el texto entre dos cadenas
begin
text
end
begin
text
end
begin
text
end
el texto entre el inicio y el fin.
/begin.*end/
esto capturará el primer comienzo y el último final.
tengo este texto y quiero capturarRegEx Cómo encontrar el texto entre dos cadenas
begin
text
end
begin
text
end
begin
text
end
el texto entre el inicio y el fin.
/begin.*end/
esto capturará el primer comienzo y el último final.
Si el texto contiene saltos de línea (o \n
\r
) tendrá que añadir el "dotall" bandera a su expresión regular, así como hacer que su partido reacios (es decir, "no codiciosa")
Dependiendo de su sabor expresiones regulares:
/begin.*?end/s
(?s)begin.*?end
JS; '/ begin. *? end/s' [no funciona en regex101] (https://regex101.com/r/HzsPk7/1) mientras que [versión de python] (https://regex101.com/r/zsq4IQ/1) hace. Intenté con '' s' pero no con coincidencias. – Mikel
@Mike, por supuesto, '/ begin. *? End/s' no funciona en regex 101, porque las barras diagonales no son parte de la expresión regular. Son delimitadores en js, pero las personas los incluyen con frecuencia en las respuestas de expresiones regulares relacionadas con js porque así es como las codifica (es decir, barras en lugar de comillas y marca después de la expresión regular también delimitada por barras). Es similar a codificar la versión non js con comillas en una respuesta, como '" (? S) begin. *? End "' (que a veces también lo hacen las personas). – Bohemian
Pude hacerlo con ['begin [\ s \ S] *? End'] (https://regex101.com/r/5wLcgR/2) – Mikel
El término es "no codiciosa" (no "perezosa") versión – Bohemian