2017-09-05 44 views
-1

比方說,我有一個字符串*White 4,5,6 LOTE Jr. Service Learning Kick-Off (2017-10-6) ,並希望找到一個子正則表達式的\d,\d,\d|,\d,相當於用逗號分隔的任何一組3個或4個號碼,如果正則表達式不存在,返回一個空字符串。我怎樣才能做到這一點?發現三個或四個逗號分隔的用正則表達式數字

回答

2

let str = "*White 4,5,6 LOTE Jr. Service Learning Kick-Off (2017-10-6)"; 
 
let re = /\d,\d,\d(?:,\d)?/; 
 
let [numbers] = str.match(re) || ['']; 
 
console.log(numbers);

match將返回null如果找不到模式; || ''會變成那個null到一個空字符串。

請注意,我改變了你的模式,因爲你說:「用逗號分隔的三個數字 - 或者說,一個逗號和一個數字」。

如果你實際上意味着數字作爲你的文字說,而不是數字,然後用/\d+,\d+,\d+(?:,\d+)?/的整數;如果你需要浮點數或複數,請問這樣明確(他們具有相當的更多...複雜)。

相關問題