Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
kb:zapisi:regex_main [2023/08/15 14:35] – [Bracket expressions — []] milano | kb:zapisi:regex_main [2023/08/16 08:59] – [Advanced topics] milano |
---|
===== ILI operater — | ili [] ===== | ===== ILI operater — | ili [] ===== |
| |
''a(b|c)'' odgovara nizu koji ima **a** praćeno sa **b** //ili// **c** | ''a(b|c)'' odgovara nizu koji ima **a** praćeno sa **b** //ili// **c** \\ |
''a[bc]'' isto kao i prethodni | ''a[bc]'' isto kao i prethodni |
| |
''[abc]'' podudara se sa nizom koji ima **ili a ili b ili c** koje je **isto kao a|b|c ** \\ | ''[abc]'' podudara se sa nizom koji ima **ili a ili b ili c** koje je **isto kao a|b|c ** \\ |
''[a-c]'' isto kao i prethodni \\ | ''[a-c]'' isto kao i prethodni \\ |
''[a-fA-F0-9]'' a string that represents **a single hexadecimal digit, case insensitively** \\ | ''[a-fA-F0-9]'' niz koji predstavlja **jednu heksadecimalnu cifru, bez obzira na velika i mala slova** \\ |
''[0-9]%'' a string that has a character **from 0 to 9 before a % sign** \\ | ''[0-9]%'' niz koji ima karakter **od 0 do 9 pre znaka %** \\ |
''[^a-zA-Z]'' a string that has not a letter from a to z or from A to Z. In this case the ''^'' is used as **negation of the expression** \\ \\ | ''[^a-zA-Z]'' niz koji nema slovo od a do z ili od A do Z. U ovom slučaju se ''^'' koristi kao **negacija izraza** \\ \\ |
| |
Remember that inside bracket expressions all special characters (including the backslash ) lose their special powers: thus we will not apply the “escape rule”. | Imajte na umu da svi posebni znakovi unutar izraza u zagradama (uključujući obrnutu kosu crtu) gube svoja posebna ovlašćenja: stoga nećemo primeniti „pravilo bežanja“. |
| |
===== Greedy and Lazy match ===== | ===== Pohlepni i lenji se poklapaju ===== |
| |
The quantifiers ( ''* + {}'') are *greedy operators*, so they expand the match as far as they can through the provided text. | Kvantifikatori ( ''* + {}'') su *pohlepni operatori*, tako da proširuju podudaranje koliko god mogu kroz dati tekst. |
| |
For example, ''<.+>'' matches ''<nowiki><div>simple div</div></nowiki>'' in ''This is a <nowiki><div>simple div</div></nowiki>'' test. In order to catch only the ''div'' tag we can use a ''?'' to make it lazy \\ | Na primer, ''<.+>'' odgovara ''<nowiki><div>simple div</div></nowiki>'' u ''This is a <nowiki><div>simple div</div></nowiki>'' test. Da bismo uhvatili samo oznaku ''div'', možemo koristiti ''?'' da je učinimo lenjim \\ |
''<.+?>'' matches any character **one or more** times included inside ''<'' and ''>'', **expanding as needed**. \\ | ''<.+?>'' podudara se sa bilo kojim znakom **jedan ili više** puta uključenim unutar ''<'' i ''>'', **proširujući po potrebi**. \\ |
| |
Notice that a better solution should avoid the usage of ''.'' in favor of a more strict regex: | Primetite da bi bolje rešenje trebalo da izbegava upotrebu ''.'' u korist strožijeg redovnog izraza: |
''<[^<>]+>'' matches any character except ''<'' or ''>'' one or more times included inside ''<'' and ''>''. | ''<[^<>]+>'' odgovara bilo kom znaku osim ''<'' ili ''>'' jednom ili više puta uključenim unutar ''<'' i ''>''. |
| |
---- | ---- |
| |
====== Advanced topics ====== | ====== Napredne teme ====== |
| |
===== Boundaries — b and B ===== | ===== Boundaries — b and B ===== |