使用正则表达式

时间:2015-11-17 10:09:42

标签: regex

我有这样的字符串

"Country": "FRANCE", "PostalCode": "01, 02, 03"

当我使用这个正则表达式时:

"(.*)": "(.*)"

系统只返回一个与2组相匹配的

MATCH 1
1.  [1-32]  `Country": "FRANCE", "PostalCode`
2.  [36-70] `01, 02, 03`

我做错了什么?我想得到任何匹配值,我可以有许多“xxx”:“yyy”标记用逗号分隔。所以我的字符串也可以

"Country": "FRANCE", "PostalCode": "01, 02, 03", "Xxxxx": "yy", "Aaaaa5": "b", "Mmmmmmm": "n1, n2, n3-n30"

2 个答案:

答案 0 :(得分:1)

请使用此"(.*?)": "(.*?)"代替您希望较小的群组。

enter image description here

答案 1 :(得分:1)

$s = '"Country": "FRANCE", "PostalCode": "01, 02, 03"';
REGEX = '/\"([^\"]+)\"\s*\:\s*\"([^\"]+)\"/';
preg_match_all(REGEX, $s, $res);
print_r($res);