Porovnávané verzie
porovnané s
Kľúč
- Tento riadok sa pridal
- Riadok je odstránený.
- Formátovanie sa zmenilo.
Funkcia %RxFind
Funkcia
Funkcia
hľadá výskyt podtextu v textená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 | ||||
---|---|---|---|---|
| ||||
INT %FindStr%RxFind( TEXT in text, TEXT in podText BOOL in smerregExp, INT in from, INT out startIndex := 0, INT out endIndex := @TRUE0 ) |
Parametre
text | Text, ktorý bude prehľadaný. |
regExp |
Regulárny výraz, ktorý |
bude |
hľadaný vo vstupnom parametri text. |
@FALSE - hľadanie od konca textu
from | Index, od ktorého bude prehľadávaný vstupný parameter text. |
startIndex | Index, na ktorom začína substring zodpovedajúci zadanému regulárnemu výrazu (nepovinný výstupný parameter). |
endIndex | Index, 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 0index, na ktorom začína substring zodpovedajúci zadanému regulárnemu výrazu. Voliteľné sú parametre startIndex a 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 | ||||
---|---|---|---|---|
| ||||
%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 |