由于自PHP 5.3.0以来不推荐使用POSIX正则表达式(ereg),因此我想知道将旧表达式转换为PCRE(Perl兼容正则表达式)(preg)的简单方法.
每个例子,我有这个正则表达式:
eregi('^hello world');
Run Code Online (Sandbox Code Playgroud)
如何将表达式转换为preg_match兼容表达式?
注意:此帖子用作与从ereg转换为preg相关的所有帖子的占位符,以及相关问题的重复选项.请不要关闭这个问题.
有关:
可能重复:
如何在PHP中将ereg表达式转换为preg?
我需要帮助,下面是一个很小的非常基本的正则表达式,有点验证一个电子邮件,我确实认为它不是最好的工作,但我的需求现在还可以.
它目前使用PHP的eregi函数,php.net说它现在是折旧函数,我应该使用preg_match,只需用preg_match替换erei不起作用,有人可以告诉我如何让它工作吗?
function validate_email($email) {
if (!eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $email)) {
echo 'bad email';
} else {
echo 'good email';
}
}
function validate_email($email) {
if (!preg_match("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $email)) {
echo 'bad email';
} else {
echo 'good email';
}
}
Run Code Online (Sandbox Code Playgroud)