Forum » Programiranje » [VB.NET] Regex
[VB.NET] Regex
teac ::
A mi lahko kdo prosim napiše, kako z regular expressions odstranim text med dvema ali več tagoma v html fajlu? Imam npr. tako:
<script>function blabla()....</script>Sem probal s
<script.*?>.*?</script>pa ne dela.
Matako ::
Moraš shranjevati skupine ujemanj, plus prvi ".*" je mogoče malo preveč. Imaš še problem da so HTML elementi kontekstno odvisni (začetni blok se mora ujemati s končnim). Pazi to:
<(\w+)>(.*?)</\1>
To seveda še ni čisto to shranjuje pa rezultat ujemanja (to je tisto med okroglimi oklepaji) in upošteva, da se morata začetni in končni tag ujemati (uporabljena je referenca na prvo skupino z "\1"). Jasno stvar ne deluje ok, za tage, ki so prelomljeni med vrsticami, vgnezdeni sami vase (je več možnosti za ujemanje) so sestavljeni iz več besed itd. itn.
Vsebina (notranji HTML) je shranjena v skupini 2 ($2), kar je tisto, kar rabiš ...
<(\w+)>(.*?)</\1>
To seveda še ni čisto to shranjuje pa rezultat ujemanja (to je tisto med okroglimi oklepaji) in upošteva, da se morata začetni in končni tag ujemati (uporabljena je referenca na prvo skupino z "\1"). Jasno stvar ne deluje ok, za tage, ki so prelomljeni med vrsticami, vgnezdeni sami vase (je več možnosti za ujemanje) so sestavljeni iz več besed itd. itn.
Vsebina (notranji HTML) je shranjena v skupini 2 ($2), kar je tisto, kar rabiš ...
/\/\.K.
teac ::
Evo, sem že rešil problem. Odstrani vse < script *>.......< /script> tage
<script[^>]*>[\w|\t|\r|\W]*</script>
Zgodovina sprememb…
- spremenilo: teac ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] struct in int[] (strani: 1 2 )Oddelek: Programiranje | 7340 (6413) | MrBrdo |
» | vprasanje c++Oddelek: Programiranje | 2462 (2461) | Volk| |
» | [c++]iskalnik po bazi podatkovOddelek: Programiranje | 1116 (1016) | Gundolf |
» | [python] prednosti in slabostiOddelek: Programiranje | 2566 (2142) | Gundolf |
» | c++ in linux/windowsOddelek: Programiranje | 1728 (1604) | rapvirus |