我在PHP中使用以下正则表达式来匹配键:值对,其中键是一个单词,值是一个正浮点数:
preg_match('/^('w+):(?!0'd)'d*('.'d+)?/i', $string, $match);
如果我输入一个字符串,如:
欧洲:6
print_r($match)
的回报:
Array ( [0] => Europe:6 [1] => Europe )
省略值部分。
你知道我做错了什么吗?
如果您正在尝试捕获与某个键配对的正浮点值,我建议您尝试以下方法:
preg_match('/^('w+):(['.'d]+)/i', $string, $match);
使用这个正则表达式:
('w+)=([0-9]+(?:'.[0-9]*)?)
组1包含key,组2包含value
检查这个演示jsFiddle
PHP<?php
$string = "europe:6";
preg_match('/^('w+):(?!0'd)('d*)?/i', $string, $match);
print_r($match);
?>
输出Array ( [0] => europe:6 [1] => europe [2] => 6 )
这里我测试和修改你的正则表达式
希望这对你有帮助!