Programmeerimine on muutnud struktureeritud ja struktureerimata tekstiandmete käsitlemise lihtsaks. Sellised tööriistad nagu regulaaravaldised ja välised teegid muudavad need ülesanded palju lihtsamaks.

URL-ide kinnitamiseks regulaaravaldise abil saate kasutada enamikku keeli, sealhulgas Pythoni ja JavaScripti. See regexi näide ei ole täiuslik, kuid saate seda kasutada URL-ide kontrollimiseks lihtsate kasutusjuhtude jaoks.

Regulaaravaldis URL-i kinnitamiseks

Selles artiklis esitatud URL-i kinnitamise regex ei ole täiuslik. Kehtivate URL-ide kohta võib olla mitu näidet, mille korral see regex-valideerimine ebaõnnestuda. See hõlmab URL-e, mis sisaldavad IP-aadresse, mitte-ASCII märke ja protokolle, nagu FTP. Järgmine regex kinnitab ainult kõige levinumad URL-id.

Regex loeb URL-i kehtivaks, kui see vastab järgmistele tingimustele.

  1. String peaks algama kummagagi http või https järgneb ://.
  2. Alamdomeeni ja domeeni kombineeritud pikkus peab olema vahemikus 2 kuni 256. See peaks sisaldama ainult tähtnumbrilisi ja/või erimärke.
  3. TLD (Top-Level Domain) peaks sisaldama ainult tähemärke ja see peaks olema kahe kuni kuue tähemärgi pikkune.
  4. URL-i stringi lõpp võib sisaldada tähtnumbrilisi ja/või erimärke. Ja see võib korrata null või rohkem korda.

URL-i saate kinnitada JavaScriptis järgmise regulaaravaldise abil:

^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2 256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Samamoodi saate Pythonis URL-i kinnitamiseks kasutada järgmist regexit:

^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$

Kus:

  • (http|https)://) tagab, et string algab kas http või https, millele järgneb ://.
  • [-a-zA-Z0-9@:%._\\+~#?&//=] tähistab tähtnumbrilisi ja/või erimärke. Selle komplekti esimene eksemplar esindab alamdomeenis ja domeeniosas lubatud tähemärkide komplekti. Kuigi selle komplekti teine ​​eksemplar esindab päringu stringis või alamkataloogi osas lubatavate märkide komplekti.
  • {2,256} tähistab 2 kuni 256 (mõlemad kaasa arvatud) korda esinemise indikaatorit. See näitab, et alamdomeeni ja domeeni kombineeritud pikkus peab jääma kahe ja 256 vahele.
  • \. tähistab punktimärki.
  • [a-z]{2,6} tähendab mis tahes väiketähti a-st z-ni pikkusega kaks kuni kuus. See tähistab ülataseme domeeniosas lubatud tähemärkide kogumit.
  • \b tähistab sõna piiri, st sõna algust või sõna lõppu.
  • * on kordusoperaator, mis näitab päringustringi, parameetrite või alamkataloogide nulli või enamat koopiat.
  • ^ ja $ näitavad vastavalt stringi algust ja lõppu.

Kui teile ülaltoodud väljend ei meeldi, vaadake regulaaravaldiste juhend algajatele esiteks. Regulaaravaldistega harjumine võtab aega. Uurides mõnda näidet nagu kasutajakonto andmete kinnitamine regulaaravaldiste abil peaks aitama.

Ülaltoodud regex vastab järgmist tüüpi URL-idele:

  • 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

Regulaaravaldise kasutamine programmis

Selles projektis kasutatav kood on saadaval a GitHubi hoidla ja seda saate MIT-i litsentsi alusel tasuta kasutada.

See on Pythoni lähenemisviis URL-i kinnitamiseks:

importida re

defvalideURL(url):
regex = "^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$"
r = uuesti.kompileerimine (regex)

kui (re.otsing(r, url)):
print("Kehtiv")
muidu:
print("Ei kehti")

url1 = "https://www.linkedin.com/"
valideURL(url1)
url2 = "http://apple"
valideURL(url2)
url3 = "iywegfuykegf"
valideURL(url3)
url4 = "https://w"
valideURL(url4)

See kood kasutab Pythoni koodi re.compile() meetod regulaaravaldise mustri koostamiseks. See meetod aktsepteerib stringiparameetrina regex-mustri ja tagastab regex-mustri objekti. Seda regex-mustri objekti kasutatakse ka sihtstringi sees regex-mustri esinemiste otsimiseks, kasutades re.search() meetod.

Kui see leiab vähemalt ühe vaste, re.search() meetod tagastab esimese vaste. Pange tähele, et kui soovite otsida sihtstringist kõiki mustri vasteid, peate kasutama re.findall() meetod.

Ülaltoodud koodi käivitamine kinnitab, et esimene URL on kehtiv, kuid ülejäänud mitte.

Samamoodi saate kinnitada URL-i JavaScriptis, kasutades järgmist koodi:

funktsioonivalideURL(url) {
kui(/^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2 256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/g.test (url)) {
console.log('Kehtiv');
} muidu {
console.log('Ei kehti');
}
}

valideURL("https://www.linkedin.com/");
valideURL("http://apple");
valideURL("iywegfuykegf");
valideURL("https://w");

Jällegi kinnitab selle koodi käivitamine, et esimene URL on kehtiv ja ülejäänud on kehtetud. See kasutab JavaScripti vaste() meetod sihtstringi vastavusse viimiseks regulaaravaldise mustriga.

Kontrollige olulisi andmeid regulaaravaldiste abil

Regulaaravaldisi saate kasutada teksti otsimiseks, sobitamiseks või sõelumiseks. Neid kasutatakse ka loomuliku keele töötlemiseks, mustrite sobitamiseks ja leksikaalseks analüüsiks.

Seda võimsat tööriista saate kasutada oluliste andmete (nt krediitkaardinumbrite, kasutajakonto üksikasjade, IP-aadresside ja muu) kinnitamiseks.