Thread RE recursion (24 answers)
Opened by linuxCowboy at 2014-04-15 20:19

linuxCowboy
 2014-04-17 10:57
#174828 #174828
User since
2014-01-29
30 Artikel
BenutzerIn
[default_avatar]
Anerkennung für die Idee, den String in eine Schleife zu stecken statt des global-Flags!!!

Code: (dl )
1
2
3
4
S='<div > <div > </div><div > not_show_1 </div> </div> show_1 <div > <div > <div > not_show_2 </div> </div> </div> show_2'

echo $S | perl -pe 's!$1[^<]+</div>!! while (/(<div[^>]+>)/)'
show_1 show_2

Leider muss ich den Eingansstring nochmal entscheidend modifizieren:

'<div > <div > </div><div > not_show_1 </div> </div> show_1 <div > <a > not_show_2 <i /> </a> <s> </s> </div> show_2'

Öffnende Klammern können nicht nur vom div stammen, sondern auch von anderem Trash dazwischen!

Man kann dann wohl nicht mehr nur nach einem nicht erlaubten Zeichen scannen, sondern braucht einen ganzen String. Damit kämpfe ich schon die ganze Zeit. In der manpage steht nur ein Beispiel mit einem einzelnen Zeichen, einer verschachtelten Klammer.

Als Not-String fällt mir nur negative-lookahead ein. Ist aber eine zero-assertion und frisst keine Zeichen!??

View full thread RE recursion