Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
kb:zapisi:regex_main [2023/08/15 14:26] – [Intermediate topics] milano | kb:zapisi:regex_main [2023/08/15 14:40] – [Izrazi zagrade — []] 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 |
| |
====== Međuteme ====== | ====== Međuteme ====== |
| |
===== Grouping and capturing — () ===== | ===== Grupisanje i hvatanje — () ===== |
| |
''a(bc)'' parentheses create a //capturing group// with value **bc** \\ | Zagrade ''a(bc)'' stvaraju //grupu za snimanje// sa vrednošću **bc** \\ |
''a(?:bc)*****'' using ''?:'' we disable the capturing group **bc** \\ | ''a(?:bc)*****'' koristeći ''?:'' onemogućavamo grupu za snimanje **bc** \\ |
''a(?<foo>bc)'' using ''?<foo>'' we put a name to the group **bc** \\ | ''a(?<foo>bc)'' koristeći ''?<foo>'' dali smo ime grupi **bc** \\ |
| |
This operator is very useful when we need to extract information from strings or data using your preferred programming language. Any multiple occurrences captured by several groups will be exposed in the form of a classical array: we will access their values specifying using an index on the result of the match. | Ovaj operator je veoma koristan kada treba da izvučemo informacije iz nizova ili podataka koristeći željeni programski jezik. Svako višestruko pojavljivanje koje uhvati nekoliko grupa biće izloženo u obliku klasičnog niza: pristupićemo njihovim vrednostima specificirajući pomoću indeksa na rezultatu podudaranja. |
| |
If we choose to put a name to the groups (using ''(?<foo>…)'') we will be able to retrieve the group values using the match result like a dictionary where the keys will be the name of each group. | Ako odlučimo da damo ime grupama (koristeći ''(?<foo>…)''), moći ćemo da preuzmemo vrednosti grupe koristeći rezultat podudaranja kao rečnik gde će ključevi biti ime svake grupe . |
| |
===== Bracket expressions — [] ===== | ===== Izrazi zagrade — [] ===== |
| |
''[abc]'' matches a string that has **either an a or a b or a c** is the **same as 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]'' same as previous \\ | ''[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 ===== | ===== Greedy and Lazy match ===== |