SetColoursSizes('0', '[Select Colour]', '0', '[Select Size]', 0,585.00,500.00);
這是一個我希望在PHP中匹配的字符串示例,然後支持最後兩個變量,例如'585.00'和'500.00'。注意:這些數字應該是靈活的,因爲它們可以是從0.50到$ 1500.00的任何值。正則表達式爲字符串中的十進制數字
任何人都可以用這個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幫忙嗎?
乾杯, 邁克爾
下面的代碼捕獲你的最後兩個數字/十進制的參數在$ [2]匹配和$匹配[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);
?>
完美。這很有魅力。感謝堆 –
$matches = array();
preg_match('~([\d\.]+),\s*([\d\.]+)\);$~', $yourString, $matches);
$matches[1]
和$matches[2]
應該有兩個數字。
此正則表達式將工作:
SetColoursSizes\s*\([^(]+,\s*([0-9.$]+)\s*,\s*([0-9.$]+)\s*\)
只是出於好奇,是你的PHP regexing其他PHP? – sdleihssirhc
不,它正在抓取頁面,所以它是regexing Javascript嵌套在整個HTML頁面 –