所以我有一個通過函數創建的字符串,然後另一個函數獲取該字符串,並且只取出數字。該字符串總是看起來像這樣(只是數字的變化):獲取字符串中的所有整數和小數數字
"rgba(123,213,321,0.23)"
所以我想從這個字符串像這樣的數組:
strArray[0] == 123
strArray[1] == 213
strArray[2] == 321
strArray[3] == 0.23
我想圓形和十進制數的一個數組。我正在使用這個:
strArray = str.match(/(\d+)/g);
但它沒有做這項工作,因爲十進制數是四捨五入的。這意味着,當我已經與上述相同的字符串,我得到:
strArray[0] == 123
strArray[1] == 213
strArray[2] == 321
strArray[3] == 0
我也必須指出,我不太有經驗的正則表達式(在所有實際上沒有經歷過)。我從某處獲得了這行代碼。所以如果你在你的答案中解釋了正則表達式部分(如果有的話),我會很感激。
'\ D'匹配任何號碼,'+',以「一個或多個」這樣最後會被搞砸了('.' ISN匹配」數字是否正確?)。你可以試試(\ d + | 0 \。\ d +)?代替。 – Joe
[Decimal number regular expression]可能的重複(http://stackoverflow.com/questions/12117024/decimal-number-regular-expression) –
爲什麼你用RegEx解析CSS? – tenub