webForumDet fria alternativet

Regexp

2 svar · 392 visningar · startad av arvjos

arvjosMedlem sedan juni 2002131 inlägg
#1

Hejsan

$regexp = "/NokiaN72*/i";
echo preg_match($regexp, "NokiaN73") ? "true" : "false";

Ovanstående kod skriver ut true. Är det någon som kan förklara hur det kommer sig och hur jag ska göra för att denna matchning inte ska uppstå.

i2n2Medlem sedan jan. 2007175 inlägg
#2
$regexp = "/NokiaN72*/i"; 
echo preg_match($regexp, "NokiaN73") ? "true\n" : "false\n"; 
echo preg_match($regexp, "NokiaN73")==0 ? "true\n" : "false\n";

http://se.php.net/manual/en/function.preg-match.php

MatteMedlem sedan aug. 20002 970 inlägg
#3

2* betyder 2 taget noll eller flera gånger.
Tar du det noll så är det strängen 'NokiaN7' som ska finnas någonstans i din sträng. Och det gör det.

Vilken/vilka sträng är det du vill matcha?

364 ms totalt · 5 externa anrop · cache AV · v20260730165559-full.0b955084
0 ms — hämta statistik (cache)
123 ms — slå upp tråd (db)
0 ms — hämta forumlista (cache)
118 ms — hämta inlägg (db)
121 ms — hämta bilagor (db)