Php 使用regex将KeyValuePair从字符串获取到数组中

Php 使用regex将KeyValuePair从字符串获取到数组中,php,regex,Php,Regex,我正在做一个项目,我不知道该怎么做。我正在尝试使用正则表达式,但对它来说相当陌生 我有一个字符串,比如其中MyColumn='1'和MyColumn='Test'' 我在PHP中有以下正则表达式 $found = array(); preg_match("/\s=\s'.*'|\s.*='.*'\s/", $whereQuery, $found); 在我的数组中,我有以下内容 Array ( [0] => MyColumn='1's'' ) 所以它就快到了,除了我期待的是:

我正在做一个项目,我不知道该怎么做。我正在尝试使用正则表达式,但对它来说相当陌生

我有一个字符串,比如
其中MyColumn='1'和MyColumn='Test''

我在PHP中有以下正则表达式

$found = array();
preg_match("/\s=\s'.*'|\s.*='.*'\s/", $whereQuery, $found);
在我的数组中,我有以下内容

Array
(
    [0] =>  MyColumn='1's'' 
)
所以它就快到了,除了我期待的是:

Array
(
    [0] =>  MyColumn='1's'' 
    [1] =>  MyColumn='Test's'
)

您应该将
preg\u match\u all
与这个简化的正则表达式一起使用:

preg_match_all('/\w+\h*=\h*\S+/', $whereQuery, $found);

preg\u match
只返回第一个匹配项。如果需要多个匹配项,请使用
preg\u match\u all
。使用SQL解析器。停止尝试使用regex解析SQL语言,这是浪费时间。哇,这非常简单。效果非常好