» »

[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
657427 (6500) MrBrdo
»

vprasanje c++

Oddelek: Programiranje
422484 (2483) Volk|
»

[c++]iskalnik po bazi podatkov

Oddelek: Programiranje
121127 (1027) Gundolf
»

[python] prednosti in slabosti

Oddelek: Programiranje
132578 (2154) Gundolf
»

c++ in linux/windows

Oddelek: Programiranje
121739 (1615) rapvirus

Več podobnih tem