Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式:将php代码从eregi转换为preg_match_Php_Regex_Preg Match - Fatal编程技术网

正则表达式:将php代码从eregi转换为preg_match

正则表达式:将php代码从eregi转换为preg_match,php,regex,preg-match,Php,Regex,Preg Match,我正试图找到合适的正则表达式来将eregi($1,$2)转换为preg\u match(“/$1/I,$2) 我需要考虑是否有函数()在其中,它们可能会出现一次以上。 任何人都可以提供适当的正则表达式来实现这一点吗 谢谢您不想使用正则表达式来解析代码 您想使用解析器。您是否试图修改源代码,因为eregi是?这个正则表达式将实现以下功能: $source= <<<STR eregi(\$1, \$2); eregi('hello', 'world'); STR; $source

我正试图找到合适的正则表达式来将
eregi($1,$2)
转换为
preg\u match(“/$1/I,$2)

我需要考虑是否有函数()在其中,它们可能会出现一次以上。 任何人都可以提供适当的正则表达式来实现这一点吗


谢谢

您不想使用正则表达式来解析代码


您想使用解析器。

您是否试图修改源代码,因为
eregi
是?这个正则表达式将实现以下功能:

$source= <<<STR
eregi(\$1, \$2);
eregi('hello', 'world');
STR;

$source2= preg_replace("/eregi\(['\"]*([^\'\"),]+)['\"]*,\s*['\"]*([^'\"),]+)['\"]*\)/", 'preg_match("/$1/i", "$2")', $source);

var_dump($source2);

$source=如果不先看一些例子,我怀疑我们是否真的能帮上大忙。从听起来,解析器更适合此任务,但您可能有自己的理由希望使用正则表达式执行此操作。然而,不幸的是,我怀疑它将是一个简单的替换。不幸的是,这个正则表达式不适用于以下代码行:`if(!eregi('windows9',php_uname())){`我不介意使用语法分析器,我只是想找到一种方法,在我的代码中把一个函数替换成另一个。我可以使用什么样的语法分析器以及如何使用?好的..那么php作为一个标记器扩展,可以将php代码转换成标记,并从中转换回代码。谢谢