Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
kb:zapisi:regex_main [2023/08/15 13:44] – [Quantifiers — * + ? and {}] milano | kb:zapisi:regex_main [2023/08/15 14:25] – [Flags] milano |
---|
Evo nekih primerima i objašnjenja. | Evo nekih primerima i objašnjenja. |
| |
===== Sidra — ^ and $ ===== | ===== Sidra — ^ i $ ===== |
| |
''^The'' odgovara bilo kom nizu koji počinje sa **The**\\ | ''^The'' odgovara bilo kom nizu koji počinje sa **The**\\ |
''roar'' odgovara bilo kom stringu koji ima tekst **roar** u sebi \\ | ''roar'' odgovara bilo kom stringu koji ima tekst **roar** u sebi \\ |
| |
===== Quantifiers — * + ? and {} ===== | ===== Kvantifikatori — * + ? i {} ===== |
''abc*****'' odgovara nizu koji ima **ab** praćeno sa //nula ili više// **c** \\ | ''abc*****'' odgovara nizu koji ima **ab** praćeno sa //nula ili više// **c** \\ |
''abc+'' odgovara nizu koji ima **ab** praćeno sa //jedanim ili više// **c** \\ | ''abc+'' odgovara nizu koji ima **ab** praćeno sa //jedanim ili više// **c** \\ |
''a(bc){2,5}****'' odgovara nizu koji ima **a** praćeno sa //2 do 5 kopija niza// **bc** \\ | ''a(bc){2,5}****'' odgovara nizu koji ima **a** praćeno sa //2 do 5 kopija niza// **bc** \\ |
| |
===== OR operator — | or [] ===== | ===== ILI operater — | ili [] ===== |
| |
''a(b|c)'' matches a string that has **a** followed by **b** //or// **c** | ''a(b|c)'' odgovara nizu koji ima **a** praćeno sa **b** //ili// **c** |
''a[bc]'' same as previous | ''a[bc]'' isto kao i prethodni |
| |
===== Character classes — d w s and . ===== | ===== Klase karaktera — d w s i . ===== |
| |
''\d'' matches a **single character** that is a **digit** \\ | ''\d'' odgovara **jedan karakter** koji je **cifra** \\ |
''\w'' matches a **word character** (alphanumeric character plus underscore) \\ | ''\w'' odgovara **znaku reči** (alfanumerički znak plus donja crta) \\ |
''\s'' matches a **whitespace character** (includes tabs and line breaks) \\ | ''\s'' odgovara **razmaku** (uključuje tabulatore i prelome redova) \\ |
''.'' matches **any character** \\ | ''.'' odgovara **bilo koji karakter** \\ |
| |
Pažljivo koristite operator ''.'' jer su često klasa ili negirana klasa znakova (o čemu ćemo dalje govoriti) brži i precizniji. | Pažljivo koristite operator ''.'' jer su često klasa ili negirana klasa znakova (o čemu ćemo dalje govoriti) brži i precizniji. |
| |
''\d'', ''\w'' and ''\s'' also present their **negations** with ''\D'', ''\W'' and ''\S'' respectively. \\ | ''\d'', ''\w'' i ''\s'' takođe predstavljaju svoje **negacije** sa ''\D'', ''\W'' i ''\S'' respektivno . \\ |
| |
Na primer, ''\D'' će izvršiti obrnuto podudaranje u odnosu na ono dobijeno sa ''\d''. \\ | Na primer, ''\D'' će izvršiti obrnuto podudaranje u odnosu na ono dobijeno sa ''\d''. \\ |
''\D'' odgovara **jedan necifren znak**. | ''\D'' odgovara **jedan necifren znak**. |
| |
In order to be taken literally, you must escape the characters ''^.[$()|*+?{'' with a **backslash** as they have special meaning. \\ | Da biste bili shvaćeni bukvalno, morate izbeći znakove ''^.[$()|*+?{'' **obrnutom kosom crtom** jer oni imaju posebno značenje. \\ |
''$d'' matches a string that has a **$** before one digit. | ''$d'' odgovara nizu koji ima **$** ispred jedne cifre. |
| |
Notice that you can match also **non-printable characters** like tabs ''\t'', new-lines ''\n'', carriage returns ''\r''. | Imajte na umu da možete da uparite i **znakove koji se ne mogu štampati** kao što su tabulatori ''\t'', novi redovi ''\n'', znakovi koji se vraćaju ''\r''. |
| |
==== Whitespace character: \s ==== | ==== Znak razmaka: \s ==== |
\s matches any whitespace character. It is equivalent to the escape sequences and Unicode categories listed in the following table. | \s odgovara bilo kom znaku razmaka. To je ekvivalentno izlaznim sekvencama i Unicode kategorijama navedenim u sledećoj tabeli. |
| |
^Category^Description| | ^Kategorija^Opis| |
|\f|The form feed character, \u000C.| | |\f|Znak za novi obrazac (FF), \u000C.| |
|\n|The newline character, \u000A.| | |\n|Znak za novu liniju (LF), \u000A.| |
|\r|The carriage return character, \u000D.| | |\r|Povratni karakter (CR), \u000D.| |
|\t|The tab character, \u0009.| | |\t|Tab znak, \u0009.| |
|\v|The vertical tab character, \u000B.| | |\v|Vertikalni tab znak, \u000B.| |
|\x85|The NEXT LINE (NEL) character, \u0085.| | |\x85|Znak NEXT LINE (NEL), \u0085.| |
|\p{Z}|Matches all separator characters. This includes the Zs, Zl, and Zp categories.| | |\p{Z}|Odgovara svim znakovima za razdvajanje. Ovo uključuje kategorije Zs, Zl i Zp.| |
| |
===== Flags ===== | ===== Zastave ===== |
| |
We are learning how to construct a regex but forgetting a fundamental concept: **flags**. | Učimo kako da konstruišemo regularni izraz, ali zaboravljamo osnovni koncept: **zastave**. |
| |
A regex usually comes within this form **/abc/**, where the search pattern is delimited by two slash characters (/). \\ | Redovni izraz se obično nalazi u ovom obliku **/abc/**, gde je obrazac pretrage razgraničen sa dve kose crte (/). \\ |
At the end we can specify a flag with these values (we can also combine them each other): | Na kraju možemo navesti zastavu sa ovim vrednostima (takođe ih možemo kombinovati jedna sa drugom): |
| |
''\g'' (global) does not return after the first match, restarting the subsequent searches from the end of the previous match \\ | ''\g'' (globalni) se ne vraća posle prvog podudaranja, ponovo pokreće sledeće pretrage od kraja prethodnog podudaranja \\ |
''\m'' (multi-line) when enabled ''^'' and ''$'' will match the start and end of a line, instead of the whole string \\ | ''\m'' (višelinijski)kada je omogućeno ''^'' i ''$'' će odgovarati početku i kraju reda, umesto celog niza \\ |
''\i'' (insensitive) makes the whole expression case-insensitive (for instance **/aBc/i** would match **AbC**) \\ | ''\i'' (neosetljivo) čini ceo izraz neosetljivim na velika i mala slova (na primer **/aBc/i** bi odgovaralo **AbC**) \\ |
| |
====== Intermediate topics ====== | ====== Intermediate topics ====== |