Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

Funkcia %RxFind




Funkcia

Funkcia

hľadá výskyt podtextu v texte

nájde vo vstupnom texte prvý substring zodpovedajúci zadanému regulárnemu výrazu a vráti index, na ktorom sa daný substring začína.

Deklarácia


Blok kódu
languageesl
themeConfluence
INT %FindStr%RxFind(
   TEXT in text,
   TEXT in podText
   BOOL in smerregExp,
   INT	in from,
   INT	out startIndex := 0,
   INT	out endIndex := @TRUE0
 )


Parametre


textText, ktorý bude prehľadaný.
podText
regExp
Text
Regulárny výraz, ktorý
sa
bude
hľadať
hľadaný vo vstupnom parametri text.
smer@TRUE - hľadanie od začiatku textu.
@FALSE - hľadanie od konca textu
fromIndex, od ktorého bude prehľadávaný vstupný parameter text.
startIndexIndex, na ktorom začína substring zodpovedajúci zadanému regulárnemu výrazu (nepovinný výstupný parameter).
endIndexIndex, na ktorom končí substring zodpovedajúci zadanému regulárnemu výrazu (nepovinný výstupný parameter).


Príklad

Funkcia vráti

index výskytu textu podText v texte Text od začiatku, ak parameter smer nie je uvedený, alebo nadobudne hodnotu @TRUE. Ak parameter smer nadobudne hodnotu @FALSE, hľadanie prebieha od konca. Ak je hľadanie neúspešné, funkcia vráti hodnotu 0

index, na ktorom začína substring zodpovedajúci zadanému regulárnemu výrazu. Voliteľné sú parametre startIndex endIndex. Ak sú tieto parametre zadané, po volaní funkcie sa v nich nachádza začiatočný, resp. koncový index substringu, ktorý vyhovuje zadanému regulárnemu výrazu. Ak je hľadanie neúspešné, alebo ak je parameter from presahujúci celkovú dĺžku vstupného textu, funkcia vráti hodnotu -1. Ak je niektorý zo vstupných parameterov neplatný, funkcia vráti nedefinovanú hodnotu.

 



Blok kódu
languageesl
themeRDark
 %FindStr%RxFind("text nejaky text", "text")          ; vráti hodnotu 1
 %FindStr[a-z]+", 1)					;vráti hodnotu 1
%RxFind("123text nejaky text", "[a-z]+", 1)					;vráti hodnotu 4
%RxFind("text nejaky text", "[a-z]+", 5, _first, _last)		;vráti hodnotu 6, _first=6, _last=11
%RxFind("text nejaky text", "text[a-z]+", @TRUE)   ; 20, _first, _last)	;vráti hodnotu -1,_first=-1,_last=-1
 %FindStr%RxFind("text nejaky text", "text", @FALSE)  ; vráti hodnotu 13 20, _first, _last)			;vráti nedefinovanú hodnotu, _first = 0, _last = 0