User Tools

Site Tools


ro:instrx

InStrX (Funcție)

Engleză: IN STRing = în șir de caractere; eXpression = expresie

Format

Descriere

Verifică dacă expresia_regulată se potrivește în textul_în_care_se_caută. Dacă se potrivește, funcția întoarce poziția (indexul) unde s-a potrivit 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 valoare_start, acesta reprezentând poziția de unde se dorește începerea căutării, unde 1 este primul caracter din 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.

Vezi și

Istoric

0.9.6.56Adăugată în acestă versiune
1.99.99.53S-a adăugat posibilitatea specificării unei poziții negative
ro/instrx.txt · Last modified: 2020/02/28 10:46 (external edit)