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语言,这是浪费时间。哇,这非常简单。效果非常好