Regulārās izteiksmes ir modeļi, kas ļauj botam pārbaudīt lietotāja ievades formātu — piemēram, lai pārliecinātos, ka ievade ir tālruņa numurs, nevis kaut kas cits.

Lai salīdzinātu, izmantojot regulāro izteiksmi, ir jāiestata atbilstības veids uz "RegEx match".
Regulārās izteiksmes jāraksta pašā trigerī, nevis mainīgajos, kas tiek izmantoti atbilstībai!
Vācot datus, lietotāji bieži ievada kaut ko citu, nekā tiek prasīts. Šeit ir tipisks plūsmas piemērs tālruņa numura ievades pārbaudei. Ja lietotājs neievada derīgu tālruņa numuru, bots lūgs mēģināt vēlreiz.

Tālruņa numura ievades blokam ir divi izejošie savienojumi: viens bez jebkāda trigera, bet otrs ar trigeri, kas izmanto regulāro izteiksmi, lai atbilstu tālruņa numuram.
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Šī plūsma izmanto divus savienojumus, lai apstrādātu tālruņa numura pārbaudi:
-
Primārais savienojums (derīgs numurs)
- Trigeris: Pareizi formatēts tālruņa numurs.
- Darbība: Pievieno numuru pieteikumam un turpina.
-
Rezerves savienojums (nederīga ievade)
- Prioritāte: Zemāka nekā primārajam savienojumam.
- Trigeris: Jebkura ievade, kas nav derīgs tālruņa numurs.
- Darbība: Informē lietotāju par kļūdu un novirza to mēģināt vēlreiz.
Tas nodrošina, ka lietotājs turpina tikai pēc derīgu datu ievadīšanas, vienlaikus saņemot tūlītēju atgriezenisko saiti par kļūdām.
Noderīgu regulāro izteiksmju saraksts:
-
Skaitliskā ievade, tikai cipari, sākot ar 1:
^[1-9]+[0-9]*$ -
Skaitliskā ievade, tikai cipari, sākot ar 0:
^[0-9]+[0-9]*$ -
Kredītkartes numurs:
[0-9]{13,16} -
Vispārējs tālruņa numurs:
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$ -
Burti un cipari (latīņu):
^[a-zA-Z0-9]+$ -
Domēns (piem., abcd.com):
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ -
URL (piem., abcd.com):
(https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]* -
IPv4:
((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?) -
IPv6:
((^|:)([0-9a-fA-F]{0,4})){1,8}$ -
Lietotājvārds (ar ierobežojumu 2-20 rakstzīmes, var būt burti un cipari, pirmajai rakstzīmei jābūt burtam):
^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$ -
Parole (Mazie un lielie latīņu burti, cipari):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$ -
Spēcīga parole (lielie, mazie burti, cipari/speciālās rakstzīmes, vismaz 8 rakstzīmes):
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ -
Datums formātā GGGG-MM-DD:
[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])
UPD. Stingrāka datuma pārbaude:
(19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31) -
Datums formātā DD/MM/GGGG:
(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d -
Datums formātā DD.MM.GGGG:
(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\d\d -
Veseli un peldošā punkta skaitļi (punkts kā decimālais atdalītājs)
\-?\d+(\.\d{0,})? -
UUID:
^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$ -
Platums vai garums:
-?\d{1,3}\.\d+ -
UPD. E-pasts:
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$ -
UPD. URL
~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]*)?(?:#[^ '\"&]*)?$~i -
UPD. Laiks formātā HH:MM:SS:
^([0-1]\d|2[0-3])(:[0-5]\d){2}$ -
UPD. Mac-adrese:
([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}
Ir pieejams liels skaits regulāro izteiksmju. Ja šajā sarakstā neatrodat vajadzīgo, ieteicams izmantot meklētājprogrammu.
Jūs varat ērti pārbaudīt regulārās izteiksmes tādās vietnēs kā: https://regex101.com/