how many ;s can you find in:
q: регулярное выражение для поиска не русских букв есть файл примерно с таким содержимым:
8;курск;россия
9;lipetsk;lipetsk oblast, russia
10;арол;арлоўская вобласць, расія
11;ryazan;ryazan oblast, russia
12;smolensk;smolensk oblast, russia
13;tambov;tambov oblast, russia
14;цвер;цвярская вобласць, расія
28;махачкала;республика дагестан, россия

мне надо из него получить всё, что не на русском языке (просто проверяю есть ли не русские буквы. если знаете более оптимальное решение, что-то вроде переводчика, буду благодарен). делаю следующим образом:
$handle = fopen(__dir__./regions.csv, r);
while (($data = fgetcsv($handle, , ;)) !== false) {
    if(preg_match(/[^а-я ]+/msiu, mb_convert_encoding($data[2], utf-8))){
      $notrus[] = array(mb_convert_encoding($data[0], utf-8), mb_convert_encoding($data[1], utf-8), mb_convert_encoding($data[2], utf-8));
    }
}
fclose($handle);
// output
$handle = fopen(__dir__./notrus.csv, w);
foreach ($notrus as $notru)
{
   fputcsv($handle, $notru, ;, );
   $counter++;
}
echo $counter;
fclose($handle);

на выходе получаю следующее: (курск убрался, а махачкала нет).
9;lipetsk;lipetsk oblast, russia
10;арол;арлоўская вобласць, расія
11;ryazan;ryazan oblast, russia
12;smolensk;smolensk oblast, russia
13;tambov;tambov oblast, russia
14;цвер;цвярская вобласць, расія
28;махачкала;республика дагестан, россия

это из-за пробела? но в preg_match стоит же пробел: /[^а-я ]+/msiu

user
The total number of ";"s in that passage is 40.
assistant