‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, May 20, 2020 6:10 PM, AGTUGO <agt...@gmail.com> wrote:

> No entendí el problema, podrías explicarmelo otra vez?

La verdad es que quizá no me he explicado bien :-P

Empiezo de nuevo.

El problema. Imaginad que tengo una cadena que es algo así:
opcion1 = """
esto es parte de
un texto que no me interesa lo más mínimo.
== {{codigo+id1}} ==

Esta sería la parte que me interesa

=== {{puede tener cosas así}} ===

pero ninguna línea de este texto empieza con doble signo de igual==

== {{codigo+id2}} ==

En la anterior línea debería de haber dejado de extraer mi patrón puesto

que empieza con doble línea y es lo que limita lo que busco
=== {{loquesea}} ===

esto sigue sin interesarme

== {{codigo+id3}} ==

esto tampoco me interesa

=== {{loquesea}} ===

y esto tampoco"""

Otra opción es que sea:
opcion2 = """
esto es parte de
un texto que no me interesa lo más mínimo.
== {{codigo+id1}} ==
Esta sería la parte que me interesa
=== {{puede tener cosas así}} ===
pero ninguna línea de este texto empieza con doble signo de igual==
== lo que sea ==
En la anterior línea debería de haber dejado de extraer mi patrón puesto
que empieza con doble línea y es lo que limita lo que busco
=== {{loquesea}} ===
esto sigue sin interesarme"""

Otra opción es que sea:
opcion3 = """
esto es parte de
un texto que no me interesa lo más mínimo.
== {{codigo+id1}} ==

Esta sería la parte que me interesa
=== {{puede tener cosas así}} ===
pero ninguna línea de este texto empieza con doble signo de igual=="""

Es decir, quiero extraer esto:
Esta sería la parte que me interesa
=== {{puede tener cosas así}} ===
pero ninguna línea de este texto empieza con doble signo de igual==

coger todo lo que haya entre "== {{codigo+id1}} ==" y una de las tres 
posibilidades que son:

- "== {{codigo+idn}} ==" el siguiente código idn que no sea id1.

- "== otras cosas ==" (estas otras cosas siempre empiezan con signo '=' 
repetido dos veces, pero no más, al principio de línea).
- "fin de la cadena", es decir, que no encuentra ni lo primero ni lo segundo y 
llega al final.

Lo anterior se puede reducir a dos posibilidades. Quiero extraer todo lo que 
esté entre "== {{codigo+id1}} =="  y:

- La primera línea que empiece por "== " (inicio de línea y solo dos símbolos 
de igual (no tres o más)).

o

- El final de la cadena.

No sé si ahora se entiende mejor.

Si además de darme un patrón me lo explicáis un poco os lo agradezco.

Gracias.

Saludos.

> On Wed, May 20, 2020, 9:06 AM kikocorreoso vía Python-es 
> <python-es@python.org> wrote:
>
>> Buenas a todos.
>>
>> A ver si alguien me puede echar un cable porque llevo varios días dándome 
>> cabezazos y no soy capaz de sacarlo y mi regex-fu no llega más allá y sé que 
>> aquí hay auténticos maestros.
>>
>> El problema. Imaginad que tengo una cadena que es:
>> opcion1 = """
>> f safsj ofsa
>>  sadjfoisajd
>> == {{codigo+id1}} ==
>> jfpoj
>> === {{loquesea}} ===
>> eij peoijgipwg
>> == {{codigo+id2}} ==
>> jfpoj
>> === {{loquesea}} ===
>> eij peoijgipwg
>> == {{codigo+id3}} ==
>> jfpoj
>> === {{loquesea}} ===
>> eij peoijgipwg"""
>>
>> Otra opción es que sea:
>> opcion2 = """
>> f safsj ofsa
>>  sadjfoisajd
>> == {{codigo+id1}} ==
>> jfpoj
>> === {{loquesea}} ===
>> eij peoijgipwg
>> == otras cosas ==
>> gjopeij
>> ep ep o"""
>>
>> Otra opción es que sea:
>> opcion3 = """
>> f safsj ofsa
>>  sadjfoisajd
>> == {{codigo+id1}} ==
>> jfpoj
>> === {{loquesea}} ===
>> eij peoijgipwg"""
>>
>> Es decir, quiero coger todo lo que haya entre "== {{codigo+id1}} ==" y una 
>> de las tres posibilidades que son:
>>
>> - "== {{codigo+idn}} ==" el siguiente código idn que no sea id1.
>>
>> - "== otras cosas ==" (estas otras cosas siempre empiezan con signo '=' 
>> repetido dos veces, pero no más, al principio de línea).
>> - "fin de la cadena", es decir, que no encuentra ni lo primero ni lo segundo 
>> y llega al final.
>>
>> Si además de darme un patrón me lo explicáis un poco os lo agradezco.
>>
>> Muchas gracias.
>>
>> Saludos.
>> _______________________________________________
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a