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 regsub makro 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ē:
    1. ap makro izteiksmi tiek pievienotas pēdiņas;
    2. 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:

  1. LLD makro funkcijai bez atpakaļvērsto slīpsvītru atdalīšanas;
  2. Lietotāja makrosam ar kontekstu bez atpakaļvērsto slīpsvītru atdalīšanas;
  3. 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:
    1. atdalīšana lietotāja makrosa kontekstam bez atpakaļvērsto slīpsvītru atdalīšanas;
    2. atdalīšana tāpēc, ka tā ir virkne, ar atpakaļvērsto slīpsvītru atdalīšanu.