Dajmy na to, że masz listę numerów telefonów:
$list = '+48 123456789′,’123456789′,’0048 123456789′,’+48123456789′
Chcesz z niej wylistować tylko te, które mają budowę:
- +48 123456789 lub
- 0048 123456789
Czyli na początku +48 lub 0048, po czym występuje spacje i 9 cyfr. Odpowiada za to maska \+48 [0-9]{9}|0048 [0-9]{9}
Definiujemy więc zmienną $mask:
$mask = [regex]”\+48 [0-9]{9}|0048 [0-9]{9}”
… i gotowe. Teraz pora na iterację. Można ro zrobić na dwa sposoby. Można skorzystać z metody Matches klasy regex. Metoda zwraca listę elementów pasujących do wyrażenia regularnego. Wejściem również jest listą:
foreach($l in $mask.Matches($list))
{
$l
}
A oto druga metoda – wywołanie metody IsMatch, która sprawdza czy przekazany napis spełnia warunek wyrażenia regularnego i zwraca true lub false:
foreach($l in $list)
{
if($mask.IsMatch($l))
{
$l
}
}