Програмирање је олакшало рад са структурираним и неструктурираним текстуалним подацима. Алати као што су регуларни изрази и екстерне библиотеке чине ове задатке много лакшим.

Можете да користите већину језика, укључујући Питхон и ЈаваСцрипт, за валидацију УРЛ-ова помоћу регуларног израза. Овај пример редовног израза није савршен, али га можете користити да проверите УРЛ адресе за једноставне случајеве употребе.

Регуларни израз за проверу УРЛ адресе

Редовни израз за валидацију УРЛ-а представљеног у овом чланку није савршен. Може постојати више примера важећих УРЛ адреса које можда неће успети у овој валидацији редовног израза. Ово укључује УРЛ адресе које укључују ИП адресе, знакове који нису АСЦИИ и протоколе као што је ФТП. Следећи регуларни израз потврђује само најчешће УРЛ адресе.

Регуларни израз ће сматрати УРЛ важећим ако испуњава следеће услове:

  1. Низ треба да почне са било којим хттп или хттпс затим ://.
  2. Комбинована дужина поддомена и домена мора да буде између 2 и 256. Треба да садржи само алфанумеричке знакове и/или специјалне знакове.
  3. ТЛД (Домен највишег нивоа) треба да садржи само абецедне знакове и треба да има између два и шест знакова.
  4. Крај УРЛ стринга може да садржи алфанумеричке знакове и/или специјалне знакове. И може се поновити нула или више пута.

Можете да потврдите УРЛ у ЈаваСцрипт-у користећи следећи регуларни израз:

^(хттп (с):\/\/.)[-а-зА-З0-9@:%._\+~#=]{2,256}\.[а-з]{2,6}\б([-а-зА-З0-9@:%_\+.~#?&//=]*)$

Слично томе, можете да користите следећи регуларни израз да бисте потврдили УРЛ у Питхон-у:

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

Где:

  • (хттп|хттпс)://) осигурава да стринг почиње са хттп или хттпс након чега следи ://.
  • [-а-зА-З0-9@:%._\\+~#?&//=] означава алфанумеричке знакове и/или посебне знакове. Прва инстанца овог скупа представља скуп знакова који се дозвољавају у делу поддомена и домена. Док друга инстанца овог скупа представља скуп знакова који се дозвољавају у стрингу упита или делу поддиректоријума.
  • {2,256} представља индикатор појављивања од 2 до 256 (оба укључено). Ово указује да комбинована дужина поддомена и домена мора бити између два и 256.
  • \. представља знак тачке.
  • [а-з]{2,6} означава сва мала слова од а до з дужине између два и шест. Ово представља скуп знакова који се дозвољавају у делу домена највишег нивоа.
  • представља границу речи, односно почетак речи или њен крај.
  • * је оператор понављања који означава нула или више копија стринга упита, параметара или поддиректоријума.
  • ^ и $ означавају почетак и крај низа респективно.

Ако вам није пријатан горњи израз, погледајте водич за почетнике за регуларне изразе први. На регуларне изразе је потребно неко време да се навикну. Истражујући неке примере као потврђивање детаља корисничког налога помоћу регуларних израза требало би да помогне.

Горњи регуларни израз задовољава следеће типове УРЛ адреса:

  • 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

Коришћење регуларног израза у програму

Код који се користи у овом пројекту доступан је у а ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

Ово је Питхон приступ валидацији УРЛ адресе:

увоз ре

дефвалидатеУРЛ(урл):
регек = "^((хттп|хттпс)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$"
р = ре.цомпиле (регек)

ако (ре.Претрага(р, урл)):
штампа ("Валид")
друго:
штампа ("Не важи")

урл1 = "https://www.linkedin.com/"
валидатеУРЛ(урл1)
урл2 = "http://apple"
валидатеУРЛ(урл2)
урл3 = "иивегфуикегф"
валидатеУРЛ(урл3)
урл4 = "https://w"
валидатеУРЛ(урл4)

Овај код користи Питхон ре.цомпиле() метода за састављање шаблона регуларног израза. Овај метод прихвата образац регуларног израза као параметар стринга и враћа објекат обрасца регуларног израза. Овај објекат обрасца регуларног израза се даље користи за тражење појављивања обрасца регуларног израза унутар циљног низа користећи ре.сеарцх() методом.

Ако пронађе бар једно подударање, ре.сеарцх() метода враћа прво подударање. Имајте на уму да ако желите да тражите сва подударања са шаблоном из циљног низа, морате да користите ре.финдалл() методом.

Покретање горњег кода ће потврдити да је прва УРЛ адреса важећа, али остали нису.

Слично томе, можете да потврдите УРЛ у ЈаваСцрипт-у користећи следећи код:

функцијавалидатеУРЛ(урл) {
ако(/^(хттп (с):\/\/.)[-а-зА-З0-9@:%._\+~#=]{2,256}\.[а-з]{2,6}\б([-а-зА-З0-9@:%_\+.~#?&//=]*)$/г.тест. (урл)) {
цонсоле.лог('Валид');
} друго {
цонсоле.лог('Не важи');
}
}

валидатеУРЛ("https://www.linkedin.com/");
валидатеУРЛ("http://apple");
валидатеУРЛ("иивегфуикегф");
валидатеУРЛ("https://w");

Поново, покретање овог кода ће потврдити да је прва УРЛ адреса важећа, а да су остали неважећи. Користи ЈаваСцрипт меч() метод за упаривање циљног стринга са шаблоном регуларног израза.

Потврдите важне податке помоћу регуларних израза

Можете да користите регуларне изразе за претрагу, подударање или рашчлањивање текста. Такође се користе за обраду природног језика, подударање образаца и лексичку анализу.

Можете да користите ову моћну алатку да потврдите важне типове података као што су бројеви кредитних картица, детаљи корисничког налога, ИП адресе и још много тога.