16 Ekranēšanas piemēri
Pārskats
Šajā lapā ir sniegti piemēri pareizas atsoļošanas izmantošanai, lietojot regulārās izteiksmes dažādos kontekstos.
Izmantojot trigeris izteiksmes konstruktoru, pareiza atsoļošana regulārajās izteiksmēs tiek pievienota automātiski.
Piemēri
Lietotāja makross ar kontekstu
Regulārā izteiksme: \.+\"[a-z]+
Lietotāja makross ar kontekstu: {$MACRO:regex:"\.+\\"[a-z]+"}
Ņemiet vērā:
- atpakaļvērstās slīpsvītras nav atdalītas;
- pēdiņas ir atdalītas.
Makro funkcija vienuma atslēgas parametrā
Regulārā izteiksme: .+:(\d+)$
Vienuma atslēga: net.tcp.service[tcp,,"{{$ENDPOINT}.regsub(\".+:(\d+)$\",\1)}"]
Ņemiet vērā:
- regulārā izteiksme
regsubmakro funkcijā ir ievietota dubultpēdiņās (jo satur aizverošo iekavu); - pēdiņas ap regulāro izteiksmi ir atdalītas (jo viss trešais vienuma parametrs ir ievietots dubultpēdiņās);
- trešais vienuma atslēgas parametrs ir ievietots dubultpēdiņās, jo tas satur komatu.
LLD makro funkcija
Regulārā izteiksme: \.+\"([a-z]+)
LLD makross: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Ņemiet vērā:
- atpakaļvērstās slīpsvītras nav atdalītas;
- pēdiņas ir atdalītas.
LLD makro funkcija lietotāja makrosa kontekstā
Regulārā izteiksme: \.+\"([a-z]+)
LLD makross: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Lietotāja makross ar kontekstu: {$MACRO:"{{#MACRO}.iregsub(\"\.+\\\"[a-z]+\", \1)}"}
Ņemiet vērā:
- atpakaļvērsto slīpsvītru atdalīšana LLD gadījumā nemainās;
- ievietojot LLD makrosu lietotāja makrosa kontekstā, tas jāievieto virknē:
- ap makro izteiksmi tiek pievienotas pēdiņas;
- pēdiņas tiek atdalītas; kopumā tiek ieviestas 3 jaunas atpakaļvērstās slīpsvītras.
Funkcijas virknes parametrs (jebkurš)
Kā piemērs izmantots concat.
Virknes saturs: \.+\"[a-z]+
Izteiksme: concat("abc", "\\.\\\"[a-z]+")
Ņemiet vērā:
- virknes parametros jāatdala gan atpakaļvērstās slīpsvītras, gan pēdiņas.
LLD makro funkcija funkcijas virknes parametrā
Regulārā izteiksme: \.+\"([a-z]+)
LLD makross: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Izteiksme: concat("abc, "{{#MACRO}.iregsub(\"\\.+\\\\\"([a-z]+)\", \\1)}")
Ņemiet vērā:
- virknes parametros jāatdala gan atpakaļvērstās slīpsvītras, gan pēdiņas;
- tiek pievienots vēl viens atdalīšanas slānis, jo makross tiks atrisināts tikai pēc tam, kad virkne būs noņemta no pēdiņām;
Lietotāja makross ar kontekstu funkcijas virknes parametrā
Regulārā izteiksme: \.+\"[a-z]+
Lietotāja makross ar kontekstu: {$MACRO:regex:"\.+\\"[a-z]+"}
Izteiksme: concat("abc, "{$MACRO:regex:\"\\.+\\\\\"[a-z]+\"}")
Ņemiet vērā:
- tāpat kā iepriekšējā piemērā ir nepieciešams papildu atdalīšanas slānis;
- atpakaļvērstās slīpsvītras un pēdiņas tiek atdalītas tikai augstākā līmeņa atdalīšanai (jo tas ir virknes parametrs).
LLD makro funkcija lietotāja makrosa kontekstā funkcijā
Regulārā izteiksme: \.+\"([a-z])+
LLD makross: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Lietotāja makross ar kontekstu: {$MACRO:"{{#MACRO}.iregsub(\"\.+\\\"([a-z]+)\", \1)}"}
Izteiksme: concat("abc, "{$MACRO:\"{{#MACRO}.iregsub(\\\"\.+\\\\\\\"([a-z]+)\\\", \\1)}\"}")
Ņemiet vērā trīs atdalīšanas slāņus:
- LLD makro funkcijai bez atpakaļvērsto slīpsvītru atdalīšanas;
- Lietotāja makrosam ar kontekstu bez atpakaļvērsto slīpsvītru atdalīšanas;
- Funkcijas virknes parametram ar atpakaļvērsto slīpsvītru atdalīšanu.
Lietotāja makross ar kontekstu tieši virknē
Regulārā izteiksme: \.+\"[a-z]+
Lietotāja makross ar kontekstu: {$MACRO:regex:"\.+\\"[a-z]+"}
Kādas izteiksmes virknes iekšpusē, piemēram: func(arg1, arg2, arg3)="{$MACRO:regex:\"\\.+\\\\\"[a-z]+\"}"
Ņemiet vērā:
- virknēs arī jāatdala atpakaļvērstās slīpsvītras;
- virknēs arī jāatdala pēdiņas;
- atkal gadījums ar 2 atdalīšanas līmeņiem:
- atdalīšana lietotāja makrosa kontekstam bez atpakaļvērsto slīpsvītru atdalīšanas;
- atdalīšana tāpēc, ka tā ir virkne, ar atpakaļvērsto slīpsvītru atdalīšanu.