由于自PHP 5.3.0以来不推荐使用POSIX正则表达式(ereg),因此我想知道将旧表达式转换为PCRE(Perl兼容正则表达式)(preg)的简单方法.
每个例子,我有这个正则表达式:
eregi('^hello world');
Run Code Online (Sandbox Code Playgroud)
如何将表达式转换为preg_match兼容表达式?
注意:此帖子用作与从ereg转换为preg相关的所有帖子的占位符,以及相关问题的重复选项.请不要关闭这个问题.
有关:
我有这个代码:
$string1 = "My name is 'Kate' and im fine";
$pattern = "My name is '(.*)' and im fine";
preg_match($pattern , $string1, $matches);
echo $matches[1];
Run Code Online (Sandbox Code Playgroud)
当我运行它时会返回此错误:
警告:preg_match()[function.preg-match]:分隔符不能是字母数字或反斜杠
我试图采取一串文字,如下所示:
$string = "This (1) is (2) my (3) example (4) text";
Run Code Online (Sandbox Code Playgroud)
在括号内有正整数的每个实例中,我想用简单的整数本身替换它.
我现在使用的代码是:
$result = preg_replace("\((\d+)\)", "$0", $string);
Run Code Online (Sandbox Code Playgroud)
但我一直在接受
分隔符不得为字母数字或反斜杠.
警告
有什么想法吗?我知道这里有其他问题可以解答这个问题,但我对正则表达式的了解并不足以将其转换为这个例子.