Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[regexp] 'verboden' teken, maar 'niets voor in de plaats'

Anoniem
Timonsweb
4 antwoorden
  • Ik heb een vraag over regular expression (posix).

    Stel ik wil http, https of ftp matchen dan gebruik ik daarvoor
    (http|https|ftp) maar nou mag daar geen ':' voor staan, maar er _hoeft_ _niets_ voor te staan.
    Met [^:](http|https|ftp) wordt "http" niet gematched, omdat er niet voor staat. Zet ik er een spatie
    voor dan match hij wel (met de spatie erbij gematched).

    Dus hoe geef ik aan dat een teken niet mag voorkomen, maar daar niet voor in de plaats hoeft te staan. Hoe doe je dat?
    Dus de volgende moeten niet gematched worden:
    ":http" en " :http"
    en deze wel: "http" en " http"
  • ([^:]|)(http|ftp|etc)

    dat?
  • [quote:811d2e2363="webspider"]([^:]|)(http|ftp|etc)

    dat?[/quote:811d2e2363]
    Tja op dat idee was ik ook gekomen, maar dat werkt niet, omdat :http dan wordt goed gekeurd. Er staat immers niks tussen : en http.
  • [quote:819d85b00c="Timonsweb"]Ik heb een vraag over regular expression (posix).

    Stel ik wil http, https of ftp matchen dan gebruik ik daarvoor
    (http|https|ftp) maar nou mag daar geen ':' voor staan, maar er _hoeft_ _niets_ voor te staan.
    Met [^:](http|https|ftp) wordt "http" niet gematched, omdat er niet voor staat. Zet ik er een spatie
    voor dan match hij wel (met de spatie erbij gematched).

    Dus hoe geef ik aan dat een teken niet mag voorkomen, maar daar niet voor in de plaats hoeft te staan. Hoe doe je dat?
    Dus de volgende moeten niet gematched worden:
    ":http" en " :http"
    en deze wel: "http" en " http"[/quote:819d85b00c]
    Je beschrijving vind ik nog te summier om het probleem goed te kunnen analyseren :)

    Mag "http" op een willekeurige plaats in een tekst voor komen?

    Als ik het bovenstaande zo lees, dan kan ik de volgende punten interpreteren
    - "http" mag niet voorafgegaan worden door ":"
    - "http" moet de eerste string zijn; of
    - "http" mag voorafgegaan worden door een spatie.
    - "http" mag voorafgegaan worden met een willekeurige karakter, maar niet met ":" ?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.