RegEx表示字符串中的十进制数字

时间:2011-07-05 02:32:43

标签: php regex

SetColoursSizes('0', '[Select Colour]', '0', '[Select Size]', 0,585.00,500.00);

这是我想在PHP中匹配的字符串示例,然后将最后两个变量设置为“585.00”和“500.00”。注意:这些数字应该是灵活的,因为它们可以是从0.50到1500.00美元。

任何人都可以帮助PHP / RegEx吗?

干杯, 迈克尔

3 个答案:

答案 0 :(得分:2)

这个正则表达式将起作用:

SetColoursSizes\s*\([^(]+,\s*([0-9.$]+)\s*,\s*([0-9.$]+)\s*\)

答案 1 :(得分:1)

$matches = array();
preg_match('~([\d\.]+),\s*([\d\.]+)\);$~', $yourString, $matches);

$matches[1]$matches[2]应该有两个数字。

答案 2 :(得分:1)

以下代码捕获$ matches [2]和$ matches [3]中的最后两个数字/小数参数:

<?php
  $matches = array();
  preg_match('/SetColoursSizes\(([^,]+,\s*){5}(\d+\.?\d*),\s*(\d+\.?\d*)/', "SetColoursSizes('0', '[Select Colour]', '0', '[Select Size]', 0,0.50,500.00);", $matches);
  print_r($matches);
?>