вопрос по регулярному выражению

Здравствуйте. Веду войну с регулярками, составил следующее выражение:
/^[a-zA-Zа-яА-Я0-9]+\-?[a-zA-Zа-яА-Я0-9]+$/
Мне чтобы регулярка сработала только когда в строчке есть буквы русские и английские, цифры 0..9 и одно тире, которое не может быть вначале или вконце. И вроде бы эта регулярка работает, но только на bezumkin.ru/utils/pcre
Если же написать ее на php — русский игнорируется… Ссылка
Но на англ отрабатывает как нужно: Ссылка
Подскажите пожалуйста, что я не учел?
Николай
28 апреля 2016, 13:30
modx.pro
927
0

Комментарии: 4

Илья Уткин
28 апреля 2016, 17:57
0
Возможно, кодировку… Возможно, это плохие новости: http://phpclub.ru/talk/threads/Классика-preg_match-и-кириллица-в-utf-8.54521/
    Konstantin
    28 апреля 2016, 18:10
    0
    Напишите сюда текст который этой регуляркой будет обрабатываться.

    Всевозможные варианты текста желательно
      Konstantin
      28 апреля 2016, 18:14
      +1
      preg_match('/^[a-zA-Zа-яА-Я0-9]+\-?[a-zA-Zа-яА-Я0-9]+$/u', $lpdomain, $march);
      пробуйте =)))
        Николай
        28 апреля 2016, 22:41
        0
        Спасибо!!! Сработало :)
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4