> > > $a1="1,8,98,244,9,243,2,6,36,3,111,";
> > >
> > > $a2="8,98,244,9,243,2,1,6,36,3,111,";
> > >
> > > How can I exactly match "1," in both strings using one regular
expression?
> > > (first "1" is the first element and second time in a random position)?
> >
> > if(preg_match('/(^|,)1(,|$)/',$str))
> > { echo "one is found"; }
>
> if(strstr($string, '1,') == 'FALSE){
>   echo 'No match found';
>   }else{
>   echo 'Found a match';
>   }
>
> No need for costly regex

Very true, I agree. For your solution, though, wouldn't it correctly match a
string such as '2,3,11,12' even though there is no entry that's just one?

I assumed that one could be the last value in the string also, though, and
hence the regular expression.

If the 1 can be the last number in the string, then you could also use
something like your solution (looking for ',1,') and include an OR that
checks for the last two characters being ',1' OR the first two characters
being '1,'

Check if that or the regex is faster.

---John Holmes...


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to