Jump to content

Regex met character class.


Recommended Posts

Geplaatst:

Hi,

Ik moet een regex uitvoeren op een stuk tekst, dat altijd tussen 2 div tag's staat (met unieke ID's). Dit stukje tekst bestaat helaas niet alleen uit woorden, maar ook uit tags, speciale tekens etc. Als ik normaal een stukje tekst wil matchen gebruik ik altijd de dot matcher, maar deze matched dus geen <> (html tags). Nu wil ik dus graag any character matchen (waarvoor je de . voor gebruikt) + de tags.

Het is dus schijnbaar niet mogelijk om een . in een character class te gebruiken, aangezien hij dan denkt dat je een echte punt wil hebben. Bestaat er niet iets gelijks hiervoor binnen [] character classes? Of heeft iemand anders alle mogelijke combinaties van tekst?

Ik heb nu dus dit:

<div id=\"id1\">[\t\r\n]*(.*?)[\t\r\n]*</div>[\t\r\n]*<div id=\"id2\">

Maar hij moet gepast worden voor (wat nu dus niet werkt omdat er <b></b> tags inzitten):

<div id="id1"> <b>coole tekst</b> jbla bla's. met nog meer bla's & rare tekens. </div><div id="id2">

Geplaatst: (bewerkt)

Voor zover ik weet matcht een punt alles, dus ook < en >.

Zie bijv deze site:

. (dot) Matches any single character except line break characters \r and \n. Most regex flavors have an option to make the dot match line break characters too.

The Regex Coach geeft bij mij ook een match voor wat jij geeft als regex en string. Heb je nog meer relevante code?

Bewerkt: door marcootje
Geplaatst: (bewerkt)

Voor zover ik weet matcht een punt alles, dus ook < en >.

Zie bijv deze site:

. (dot) Matches any single character except line break characters \r and \n. Most regex flavors have an option to make the dot match line break characters too.

The Regex Coach geeft bij mij ook een match voor wat jij geeft als regex en string. Heb je nog meer relevante code?

Bedankt ja! Ik was even in de war geraakt, maar er zitten inderdaad ook newlines in de tekst. Hoe moet ik DOTALL trouwens aanzetten in The regex coach?

Bewerkt: door Maikle
Geplaatst:

Ah ok top :) .

Ik weet niet hoe je DOTALL aan zou moeten zetten in regex coach. Regex coach heeft overigens niet echt heel uitgebreid, en natuurlijk maar gemaakt voor 1 type regex (er zijn er heel veel, veelal verschilt het regex-dialect (enigszins) per programmeertaal). Het kan goed zijn dat DOTALL niet bestaat, evenals dat volgens mij de options/flags iets anders werken dan normaal. Verder is het wel een handig programma om regexes mee te testen.

Voor DOTALL zul je dus even moeten zoeken (of een ander programma opzoeken, regex coach was zomaar een programma dat ik een keertje tegenkwam en wel handig leek, het kan goed zijn dat er betere programma's zijn ;) ).

Geplaatst:

Ah ok top :) .

Ik weet niet hoe je DOTALL aan zou moeten zetten in regex coach. Regex coach heeft overigens niet echt heel uitgebreid, en natuurlijk maar gemaakt voor 1 type regex (er zijn er heel veel, veelal verschilt het regex-dialect (enigszins) per programmeertaal). Het kan goed zijn dat DOTALL niet bestaat, evenals dat volgens mij de options/flags iets anders werken dan normaal. Verder is het wel een handig programma om regexes mee te testen.

Voor DOTALL zul je dus even moeten zoeken (of een ander programma opzoeken, regex coach was zomaar een programma dat ik een keertje tegenkwam en wel handig leek, het kan goed zijn dat er betere programma's zijn ;) ).

Oke, mijn Regex werkt tenminste waar ik al heel blij mee ben :tu: . Ik gebruik normaal als tester Regex tester (als webpagina), maar als er teveel gematched moet worden loopt hij vast :D.

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...