匹配键:值对的正则表达式


Regular expression for matching a key:value pair

我在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 )

这里我测试和修改你的正则表达式

希望这对你有帮助!