Ik heb een textdocument in het volgende formaat:
Er kunnen dus breaks voor/na of in de tekst zitten, maar dat hoeft niet per se.
Ik wil hier middels een regex de text en het bijbehorende pagina nummer eruithalen
Dit gaat op zich prima middels \* Markeer, page ([0-9]+)\n+([^*]+)
Het probleem is echter dat hij de text pakt inclusief de breaks erachter.
En als je de volgende gebruikt \* Markeer, page ([0-9]+)\n+([^\n]+) heb je een probleem als er een of meer breaks IN de tekst zitten.
Ik zit me hier nu al uren op scheel te staren en heb van alles geprobeerd zonder resultaat. Heb als referentie de http://www.regular-expressions.info/ handleiding gebruikt.
Ik wil dus de blokken tekst eruit filteren met de omliggende breaks eruit gefilterd, maar de breaks die erin zitten behouden met de bijbehorende paginanummer.
Ik heb het idee dat het heel simpel op te lossen is en dat het probleem in de greediness zit, maar zie nog niet precies hoe.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| * Markeer, page 3 text text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text text * Markeer, page 3 text text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text text text text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text text * Markeer, page 3 text text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text text * Markeer, page 4 text text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text text text text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text texttext text text |
Er kunnen dus breaks voor/na of in de tekst zitten, maar dat hoeft niet per se.
Ik wil hier middels een regex de text en het bijbehorende pagina nummer eruithalen
Dit gaat op zich prima middels \* Markeer, page ([0-9]+)\n+([^*]+)
Het probleem is echter dat hij de text pakt inclusief de breaks erachter.
En als je de volgende gebruikt \* Markeer, page ([0-9]+)\n+([^\n]+) heb je een probleem als er een of meer breaks IN de tekst zitten.
Ik zit me hier nu al uren op scheel te staren en heb van alles geprobeerd zonder resultaat. Heb als referentie de http://www.regular-expressions.info/ handleiding gebruikt.
Ik wil dus de blokken tekst eruit filteren met de omliggende breaks eruit gefilterd, maar de breaks die erin zitten behouden met de bijbehorende paginanummer.
Ik heb het idee dat het heel simpel op te lossen is en dat het probleem in de greediness zit, maar zie nog niet precies hoe.