» »

[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š ...
/\/\.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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] struct in int[] (strani: 1 2 )

Oddelek: Programiranje
657340 (6413) MrBrdo
»

vprasanje c++

Oddelek: Programiranje
422462 (2461) Volk|
»

[c++]iskalnik po bazi podatkov

Oddelek: Programiranje
121116 (1016) Gundolf
»

[python] prednosti in slabosti

Oddelek: Programiranje
132566 (2142) Gundolf
»

c++ in linux/windows

Oddelek: Programiranje
121728 (1604) rapvirus

Več podobnih tem