Both sides previous revision Previous revision Next revision | Previous revision |
kb:zapisi:regex_main [2023/08/16 09:04] – [Boundaries — b and B] milano | kb:zapisi:regex_main [2023/08/16 09:11] (current) – [Pogled napred i pogled iza — (?=) i (?<=)] milano |
---|
Dolazi sa svojom **negacijom**, ''\B''. Ovo se poklapa sa svim pozicijama na kojima se ''\b'' ne podudara i može biti ako želimo da pronađemo obrazac pretrage u potpunosti okružen znakovima reči. | Dolazi sa svojom **negacijom**, ''\B''. Ovo se poklapa sa svim pozicijama na kojima se ''\b'' ne podudara i može biti ako želimo da pronađemo obrazac pretrage u potpunosti okružen znakovima reči. |
''\Babc\B'' se podudara samo ako je obrazac **potpuno okružen** znakovima reči. | ''\Babc\B'' se podudara samo ako je obrazac **potpuno okružen** znakovima reči. |
===== Back-references — 1 ===== | ===== Povratne reference — 1 ===== |
| |
''([abc])\1'' using ''\1'' it matches **the same** text that was matched by the **first capturing group**. \\ | ''([abc])\1'' koristeći ''\1'' odgovara **istom** tekstu koji je upario **prva grupa za snimanje**. \\ |
''([abc])([de])\2\1'' we can use ''\2'' (3, 4, etc.) to identify **the same** text that **was matched by the second** (third, fourth, etc.) capturing group. \\ | ''([abc])([de])\2\1'' možemo da koristimo ''\2'' (3, 4, itd.) da identifikujemo **isti** tekst koji je **podudarala druga** (treća, četvrta, itd.) grupa za snimanje. \\ |
''(?<foo>[abc])\k<foo>'' we put the name ''foo'' to the group and we reference it later (''k<foo>''). The result is the same of the first regex. | ''(?<foo>[abc])\k<foo>'' grupi stavljamo ime ''foo'' i referenciramo ga kasnije (''k<foo>''). Rezultat je isti kao prvi regularni izraz. |
| |
| |
===== Look-ahead and Look-behind — (?=) and (?<=) ===== | ===== Pogled napred i pogled iza — (?=) i (?<=) ===== |
''d(?=r)'' matches a ''d'' only if it is **followed by r**, but ''r'' will not be part of the overall regex match. \\ | ''d(?=r)'' odgovara „d“ samo ako ga **prati r**, ali „r“ neće biti deo ukupnog podudaranja regularnog izraza. \\ |
''(?<=r)d'' matches a ''d'' only if it is **preceded by an r**, but r will not be part of the overall regex match. \\ | ''(?<=r)d'' odgovara „d“ samo ako mu **prethodi r**, ali r neće biti deo ukupnog podudaranja regularnog izraza. \\ |
| |
You can use also the negation operator! | Možete koristiti i operator negacije! |
| |
''d(?!r)'' matches a ''d'' only if is **not followed by r**, but r will not be part of the overall regex match. \\ | |
''(?<!r)d'' matches a ''d'' only if is **not preceded by an r**, but r will not be part of the overall regex match. | |
| |
| ''d(?!r)'' odgovara „d“ samo ako **ne prati r**, ali r neće biti deo ukupnog podudaranja regularnog izraza. \\ |
| ''(?<!r)d'' odgovara „d“ samo ako mu **ne prethodi r**, ali r neće biti deo ukupnog podudaranja regularnog izraza. |