webForumDet fria alternativet

Regexp

3 svar · 210 visningar · startad av oelbal

oelbalMedlem sedan jan. 20014 973 inlägg
#1

Snabb fråga:
Jag vill kolla om $variabel innehåller a-z, 0-9, endast lowercase, hur görs detta?

Är liten osäker på användningen av ereg(), eregi(), Regular Expressions samt POSIX

------------------
Kent-Mustafa undrar: DelPero, vad gillade du intervjun?
DelPero svarar: Skybirper är en pervers lappjävel och du låter som en full 30-årig skogshuggare

spangoMedlem sedan juni 20008 205 inlägg
#2

mönstret du vill ha är ^[a-z\d]+$.

$pattern = '^[a-z\d]+$';
if(ereg($pattern, $en_variabel)){
// Rocka fett!
} else {
// Please try again.[/red]
} // else

^ betyder "början på strängen",
hakparanteser betyder "något av de tecken som anges inom paranteserna",
\d betyder "valfri siffra" (samma som 0-9),
a-z torde vara självklara, ;)
+ efter ett mönster betyder "mönstret innan plustecknet en eller fler gånger",
och $ betyder slutet på strängen.
Alltså, mellan strängens början och dess slut måste det finnas en eller flera siffror och/eller små bokstäver.
eregi, f.ö., gör samma sak som ereg fast är skiftlägesokänslig.

Nu får du lite bakläxa. :)

------------------
The mud can make you prisoner, the plains can make you dry,
the snow can burn your eye but only people make you cry...

[Redigerat av spango den 25 aug 2001]

oelbalMedlem sedan jan. 20014 973 inlägg
#3

Tackar spango!

Lika kompetent förklaring som alltid!

------------------
Kent-Mustafa undrar: DelPero, vad gillade du intervjun?
DelPero svarar: Skybirper är en pervers lappjävel och du låter som en full 30-årig skogshuggare

spangoMedlem sedan juni 20008 205 inlägg
#4

:r

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)