Ohjelmointi on helpottanut strukturoidun ja jäsentämättömän tekstidatan käsittelyä. Työkalut, kuten säännölliset lausekkeet ja ulkoiset kirjastot, helpottavat näitä tehtäviä paljon.
Voit käyttää useimpia kieliä, mukaan lukien Python ja JavaScript, URL-osoitteiden vahvistamiseen säännöllisen lausekkeen avulla. Tämä esimerkkisäännöllinen lauseke ei ole täydellinen, mutta voit käyttää sitä URL-osoitteiden tarkistamiseen yksinkertaisissa käyttötapauksissa.
Säännöllinen lauseke URL-osoitteen vahvistamiseen
Tässä artikkelissa esitetty säännöllinen lauseke URL-osoitteen vahvistamiseksi ei ole täydellinen. Voi olla useita esimerkkejä kelvollisista URL-osoitteista, jotka voivat epäonnistua tämän säännöllisen lausekkeen vahvistuksen yhteydessä. Tämä sisältää URL-osoitteet, jotka sisältävät IP-osoitteita, muita kuin ASCII-merkkejä ja protokollia, kuten FTP. Seuraava säännöllinen lauseke vahvistaa vain yleisimmät URL-osoitteet.
Regex pitää URL-osoitetta kelvollisena, jos se täyttää seuraavat ehdot:
- Merkkijonon tulee alkaa jommallakummalla http tai https jonka jälkeen ://.
- Aliverkkotunnuksen ja verkkotunnuksen yhteispituuden on oltava välillä 2–256. Sen tulee sisältää vain aakkosnumeerisia merkkejä ja/tai erikoismerkkejä.
- TLD (Top-Level Domain) saa sisältää vain aakkosmerkkejä ja sen tulee olla kahdesta kuuteen merkkiä pitkä.
- URL-merkkijonon lopussa voi olla aakkosnumeerisia merkkejä ja/tai erikoismerkkejä. Ja se voi toistua nollan tai useamman kerran.
Voit vahvistaa URL-osoitteen JavaScriptissä käyttämällä seuraavaa säännöllistä lauseketta:
^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2 256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
Vastaavasti voit käyttää seuraavaa säännöllistä lauseketta URL-osoitteen vahvistamiseen Pythonissa:
^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$
Missä:
- (http|https)://) varmistaa, että merkkijono alkaa joko http tai https ja sen jälkeen ://.
- [-a-zA-Z0-9@:%._\\+~#?&//=] ilmaisee aakkosnumeerisia merkkejä ja/tai erikoismerkkejä. Tämän joukon ensimmäinen esiintymä edustaa merkkijoukkoa, joka sallitaan aliverkkotunnuksen ja toimialueen osassa. Vaikka tämän joukon toinen esiintymä edustaa merkkijoukkoa, joka sallitaan kyselymerkkijonossa tai alihakemistoosassa.
- {2,256} edustaa 2-256 (molemmat mukaan lukien) kertaa esiintymisindikaattoria. Tämä tarkoittaa, että aliverkkotunnuksen ja verkkotunnuksen yhteispituuden on oltava välillä 2–256.
- \. edustaa pistemerkkiä.
- [a-z]{2,6} tarkoittaa mitä tahansa pieniä kirjaimia välillä a - z, joiden pituus on kahdesta kuuteen. Tämä edustaa merkkijoukkoa, joka sallitaan ylätason verkkotunnuksen osassa.
- \b edustaa sanan rajaa, eli sanan alkua tai loppua.
- * on toistooperaattori, joka ilmaisee nollan tai useamman kopion kyselymerkkijonosta, parametreista tai alihakemistoista.
- ^ ja $ osoittavat merkkijonon alun ja lopun vastaavasti.
Jos yllä oleva ilmaisu ei miellytä sinua, tarkista säännöllisten lausekkeiden aloittelijan opas ensimmäinen. Säännöllisiin lausekkeisiin tottuminen kestää jonkin aikaa. Tutkitaan joitain esimerkkejä, kuten käyttäjätilin tietojen vahvistaminen säännöllisten lausekkeiden avulla pitäisi auttaa.
Yllä oleva säännöllinen lauseke täyttää seuraavan tyyppiset URL-osoitteet:
- https://www.something.com/
- http://www.something.com/
- https://www.something.edu.co.in
- http://www.url-with-path.com/path
- https://www.url-with-querystring.com/?url=has-querystring
- http://url-without-www-subdomain.com/
- https://mail.google.com
Säännöllisen lausekkeen käyttäminen ohjelmassa
Tässä projektissa käytetty koodi on saatavilla a GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.
Tämä on Python-lähestymistapa URL-osoitteen vahvistamiseen:
tuonti re
defvalidateURL(url):
regex = "^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$"
r = uudelleen.kääntä (säännöllinen lauseke)jos (re.Hae(r, url)):
Tulosta("Pätevä")
muu:
Tulosta("Ei voimassa")
url1 = "https://www.linkedin.com/"
validateURL(url1)
url2 = "http://apple"
validateURL(url2)
url3 = "iywegfuykegf"
validateURL(url3)
url4 = "https://w"
validateURL(url4)
Tämä koodi käyttää Pythonia re.compile() menetelmä säännöllisen lausekkeen mallin kokoamiseksi. Tämä menetelmä hyväksyy säännöllisen lausekkeen mallin merkkijonoparametriksi ja palauttaa regex-malliobjektin. Tätä säännöllisen lausekkeen malliobjektia käytetään edelleen etsimään säännöllisen lausekkeen esiintymiä kohdemerkkijonosta käyttämällä re.search() menetelmä.
Jos se löytää vähintään yhden osuman, re.search() menetelmä palauttaa ensimmäisen osuman. Huomaa, että jos haluat etsiä kaikki osumat kaavaan kohdemerkkijonosta, sinun on käytettävä re.findall() menetelmä.
Yllä olevan koodin suorittaminen vahvistaa, että ensimmäinen URL-osoite on kelvollinen, mutta muut eivät.
Vastaavasti voit vahvistaa URL-osoitteen JavaScriptissä käyttämällä seuraavaa koodia:
toimintovalidateURL(url) {
jos(/^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2 256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/g.test (url)) {
console.log('Pätevä');
} muu {
console.log('Ei voimassa');
}
}
validateURL("https://www.linkedin.com/");
validateURL("http://apple");
validateURL("iywegfuykegf");
validateURL("https://w");
Tämän koodin suorittaminen vahvistaa jälleen, että ensimmäinen URL-osoite on kelvollinen ja loput ovat virheellisiä. Se käyttää JavaScriptiä ottelu() menetelmä sovittaa kohdemerkkijono säännölliseen lausekkeeseen.
Tarkista tärkeät tiedot säännöllisillä lausekkeilla
Voit käyttää säännöllisiä lausekkeita tekstin etsimiseen, yhdistämiseen tai jäsentämiseen. Niitä käytetään myös luonnollisen kielen käsittelyyn, kuvioiden sovittamiseen ja leksikaaliseen analyysiin.
Tämän tehokkaan työkalun avulla voit vahvistaa tärkeitä tietoja, kuten luottokorttinumeroita, käyttäjätilitietoja, IP-osoitteita ja paljon muuta.