Moi
Mulla on kaksi eri domainia, jotka osoittaa samaan sivustoon.
Tarpeen olisi tunnistaa kaikki muut isäntänimet paitsi www.domain[1-2].tld ja domain[1-2].tld.
Eli haluaisin sl avulla napata ne isäntänimet, jotka eivät sisällä www:tä tai ole tyhjiä alidomainin osalta ja niissä esintyy jompiku domain.
Jos käytössä on PCRE tai vastaava, käänteiseen valintaan voi käyttää kielteistä lookahead-ominaisuutta:
^(?!www\.domain[12]\.tld$)(.+\.domain[12]\.tld)$
^(?!www\.)(.+\.domain[12]\.tld)$
Näissä siis "^
" osuu tekstin alkuun, "(?!foo)
" epäonnistuu osuessaan kyseisiin teksteihin ja loppuosa hyväksyy sitten kaikki muut sopivat domainit. Ensimmäinen versio hylkää vain juuri mainitsemasi domainit, jälkimmäinen hylkää myös kaikki muut www.-alkuiset, esimerkiksi www.foo.domain1.tld.
Jos lookahead ei ole käytettävissä, lausekkeesta tulee tällainen:
^(.|..|[^w]..|.[^w].|..[^w]|....+)(\.domain[12]\.tld)$
Tässä alkuosa saa sisältää 1 tai 2 merkkiä, sellaiset 3 merkkiä, joista ainakin yksi on muu kuin w, tai vähintään 4 merkkiä.
Tänks, pitää vielä perehtyä tähän. Tällä välin kerkesin ratkaista ongelman muilla kuin sl-keinoin.
Tein sen seuraavasti:
^(?!www\.(domain1|domain2)\.tld$)(.+\.(domain1|domain2)\.tld)$
Aihe on jo aika vanha, joten et voi enää vastata siihen.