• Почему не работает регулярка?

    @superhorsy Автор вопроса
    Ошибка - используется символ привязки к началу строки (^).
    Правильно так:
    $re = '/( ?([а-яёA-ЯЁ]+([a-z]+)[a-za-яё]*[ !?.,]?))| ?(([a-z]+)[а-яёA-ЯЁ]+[a-za-яё]*)[ !?.,]*/mi';
    $str = 'Пocтaвкa мяco гoвядины, бecкостнoe для нужд государственного бюджетного учреждения здравоохранения Республики Башкортостан Инфекционная клиническая больница № 4 города Уфа ';

    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

    // Print the entire match result
    var_dump($matches);
    Ответ написан
    Комментировать