===== InStrX (Funcție) ===== > **Engleză:** //**IN STR**ing = în șir de caractere; e**X**pression = expresie// ==== Format ==== **instrx** ( [[stringexpressions|textul_în_care_se_caută]] , [[regularexpressions|expresie_regulată]] )\\ **instrx** ( [[stringexpressions|textul_în_care_se_caută]] , [[regularexpressions|expresie_regulată]] , [[integerexpressions|valoare_start]] ) Întoarce un [[integerexpressions|număr_întreg]]. ==== Descriere ==== Verifică dacă [[regularexpressions|expresia_regulată]] se potrivește în [[stringexpressions|textul_în_care_se_caută]]. Dacă se potrivește, funcția întoarce poziția (indexul) unde s-a potrivit [[regularexpressions|expresia_regulată]]. În cazul în care nu se potrivește nicăieri, funcția întoarce valoarea 0. În mod opțional se poate specifica o valoare pentru [[integerexpressions|valoare_start]], acesta reprezentând poziția de unde se dorește începerea căutării, unde 1 este primul caracter din [[stringexpressions|textul_în_care_se_caută]], 2 este al doilea caracter ș.a.m.d. În cazul în care poziția furnizată este negativă, atunci căutarea va începe de la caracterul specificat numărând de la sfârșitul textului, unde -1 este ultimul caracter, -2 este penultimul caracter, -3 este al treilea caracter din coadă ș.a.m.d.\\ Indiferent poziția furnizată, căutarea se va face întotdeauna de la ce mai mică poziție către cea mai mare, adică dinspre începutul textului spre sfârșitul lui. ==== Notă ==== Șirurile de caractere încep de la poziția 1. ==== Exemplu ==== print instrx("Ana are mere", "[Aa]re") print instrx("Poveste adevărată", "[Vv]", 4) va afișa 5 12 ==== Notă ==== Funcția **instrx** poate fi utilă în diverse situații. În exemplul de mai jos, funcția **estenumar** întoarce valoarea adevărat dacă șirul de caractere conține un număr și întoarce fals dacă nu. function estenumar(s$) # întoarce adevărat dacă este un număr, fals dacă nu este un număr # în loc de virgulă se folosește punctul return instrx(s$,"^-?\d+(\.\d+)?$") <> 0 end function În mod implicit, natura expresiilor regulate este "lacomă". Acest comportament poate fi modificat folosind instrucțiunea [[regexminimal|RegexMinimal]]. ==== Vezi și ==== {{page>ro:start#Șiruri de caractere&noheader}} ==== Istoric ==== |0.9.6.56|Adăugată în acestă versiune| |1.99.99.53|S-a adăugat posibilitatea specificării unei poziții negative|