Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Säännöllinen lauseke: kaikki alidomainit paitsi www

Multibyte [09.02.2017 15:44:17]

#

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.

Metabolix [10.02.2017 18:31:25]

#

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ä.

Multibyte [17.02.2017 14:51:52]

#

Tänks, pitää vielä perehtyä tähän. Tällä välin kerkesin ratkaista ongelman muilla kuin sl-keinoin.

Multibyte [22.02.2017 12:37:05]

#

Tein sen seuraavasti:

^(?!www\.(domain1|domain2)\.tld$)(.+\.(domain1|domain2)\.tld)$

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta