Как изменить eregi PHP на preg_match [дубликат]

Почему не просто скрывают боковую панель Единицы, если не используемую, и затем переключаются с сочетаниями клавиш?

18
задан Community 23 May 2017 в 12:12
поделиться

2 ответа

Шаблоны регулярных выражений в стиле Perl всегда должны быть разделены. Самый первый символ в строке считается разделителем, поэтому что-то вроде этого:

function validate_email($email) {
    if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", $email)) {
        echo 'bad email';
    } else {
        echo 'good email';
    }
}

Причина, по которой ваша первоначальная попытка не сработала, заключается в том, что она пыталась использовать ^ в качестве символа разделителя, но (очевидно ) не нашла соответствия ^ для конца регулярного выражения.

28
ответ дан 30 November 2019 в 07:18
поделиться

Вы должны исследовать, используя STL '

  • [[: alnum:]] необходимо будет заменить эквивалентом PCRE
  • «i» в «eregi» означает регистронезависимость, что PCRE делает с флагом, в частности i флаг.
  • В противном случае все остальное выглядит совместимым с PCRE (да, это похоже на избыточность = P)

    "/^[a-z0-9][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i"
    
    10
    ответ дан 30 November 2019 в 07:18
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: