Programmēšana ir atvieglojusi strukturētu un nestrukturētu teksta datu apstrādi. Rīki, piemēram, regulārās izteiksmes un ārējās bibliotēkas, ievērojami atvieglo šos uzdevumus.
Varat izmantot lielāko daļu valodu, tostarp Python un JavaScript, lai pārbaudītu URL, izmantojot regulāro izteiksmi. Šis regulārās izteiksmes piemērs nav ideāls, taču varat to izmantot, lai pārbaudītu vietrāžus URL, vai tie ir vienkārši lietojami.
Regulārā izteiksme URL apstiprināšanai
Šajā rakstā norādītais regulārais formulējums URL apstiprināšanai nav ideāls. Var būt vairāki derīgu vietrāžu URL piemēri, kuriem šī regulārā izteiksmes validācija var neizdoties. Tas ietver URL, kas ietver IP adreses, rakstzīmes, kas nav ASCII, un protokolus, piemēram, FTP. Šis regulārais izteiksmes veids apstiprina tikai visizplatītākos URL.
Regulārajā izteiksmē URL tiks uzskatīts par derīgu, ja tas atbilst šādiem nosacījumiem:
- Virknei jāsākas ar vai nu http vai https seko ://.
- Apakšdomēna un domēna kopējam garumam ir jābūt no 2 līdz 256. Tajā drīkst būt tikai burtciparu rakstzīmes un/vai īpašās rakstzīmes.
- TLD (augstākā līmeņa domēnā) ir jābūt tikai alfabēta rakstzīmēm, un tam ir jābūt no divām līdz sešām rakstzīmēm.
- URL virknes beigās var būt burtciparu rakstzīmes un/vai īpašās rakstzīmes. Un tas varētu atkārtot nulli vai vairākas reizes.
Varat pārbaudīt URL JavaScript, izmantojot šādu regulāro izteiksmi:
^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
Līdzīgi varat izmantot šo regulāro izteiksmi, lai pārbaudītu URL Python:
^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$
Kur:
- (http|https)://) nodrošina, ka virkne sākas ar http vai https, kam seko ://.
- [-a-zA-Z0-9@:%._\\+~#?&//=] norāda burtciparu rakstzīmes un/vai īpašās rakstzīmes. Šīs kopas pirmais gadījums ir rakstzīmju kopa, kas atļauta apakšdomēna un domēna daļā. Lai gan šīs kopas otrais gadījums apzīmē rakstzīmju kopu, ko atļaut vaicājuma virknē vai apakšdirektorija daļā.
- {2,256} ir no 2 līdz 256 (abi ieskaitot) reizes sastopamības indikators. Tas norāda, ka apakšdomēna un domēna kopējam garumam ir jābūt no diviem līdz 256.
- \. apzīmē punkta raksturu.
- [a-z]{2,6} nozīmē jebkurus mazos burtus no a līdz z, kuru garums ir no diviem līdz sešiem. Tas apzīmē rakstzīmju kopu, kas jāatļauj augšējā līmeņa domēna daļā.
- \b apzīmē vārda robežu, t.i., vārda sākumu vai beigas.
- * ir atkārtošanās operators, kas norāda uz nulli vai vairāk vaicājuma virknes, parametru vai apakšdirektoriju kopiju.
- ^ un $ norāda attiecīgi virknes sākumu un beigas.
Ja jūs neapmierina iepriekš minētais izteiciens, pārbaudiet regulāro izteiksmju ceļvedis iesācējiem vispirms. Pie regulārām izteiksmēm ir vajadzīgs zināms laiks, lai pierastu. Izpētot dažus piemērus, piemēram lietotāja konta datu apstiprināšana, izmantojot regulārās izteiksmes vajadzētu palīdzēt.
Iepriekš minētais regulārais izteiksmes veids atbilst šāda veida URL:
- 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
Regulārās izteiksmes izmantošana programmā
Šajā projektā izmantotais kods ir pieejams a GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.
Šī ir Python pieeja URL apstiprināšanai:
imports re
defvalideURL(url):
regex = "^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$"
r = atkārtoti.kompilēšana (regulārais izteiksme)ja (re.Meklēt(r, url)):
drukāt ("Derīgs")
cits:
drukāt ("Nav derīga")
url1 = "https://www.linkedin.com/"
validētURL(url1)
url2 = "http://apple"
validētURL(url2)
url3 = "iywegfuykegf"
validētURL(url3)
url4 = "https://w"
validētURL(url4)
Šis kods izmanto Python's re.compile() metode regulārās izteiksmes modeļa apkopošanai. Šī metode pieņem regulāro izteiksmes modeli kā virknes parametru un atgriež regex modeļa objektu. Šis regex modeļa objekts tiek tālāk izmantots, lai meklētu regulārās izteiksmes modeļa gadījumus mērķa virknē, izmantojot re.search() metodi.
Ja tiek atrasta vismaz viena atbilstība, re.search() metode atgriež pirmo atbilstību. Ņemiet vērā: ja vēlaties meklēt visas atbilstības paraugam no mērķa virknes, jums ir jāizmanto re.findall() metodi.
Palaižot iepriekš minēto kodu, tiks apstiprināts, ka pirmais URL ir derīgs, bet pārējie — ne.
Līdzīgi varat pārbaudīt URL JavaScript, izmantojot šādu kodu:
funkcijuvalideURL(url) {
ja(/^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/g.test (url)) {
console.log('Derīgs');
} cits {
console.log('Nav derīga');
}
}
validateURL("https://www.linkedin.com/");
validateURL("http://apple");
validateURL("iywegfuykegf");
validateURL("https://w");
Atkal, palaižot šo kodu, tiks apstiprināts, ka pirmais URL ir derīgs, bet pārējie — nederīgi. Tas izmanto JavaScript atbilst() metode, lai saskaņotu mērķa virkni ar regulāras izteiksmes modeli.
Apstipriniet svarīgos datus, izmantojot regulārās izteiksmes
Varat izmantot regulārās izteiksmes, lai meklētu, saskaņotu vai parsētu tekstu. Tos izmanto arī dabiskās valodas apstrādei, modeļu saskaņošanai un leksiskajai analīzei.
Varat izmantot šo jaudīgo rīku, lai pārbaudītu svarīgus datu veidus, piemēram, kredītkaršu numurus, lietotāja konta informāciju, IP adreses un daudz ko citu.