-1
比方說,我有一個字符串*White 4,5,6 LOTE Jr. Service Learning Kick-Off (2017-10-6)
,並希望找到一個子正則表達式的\d,\d,\d|,\d
,相當於用逗號分隔的任何一組3個或4個號碼,如果正則表達式不存在,返回一個空字符串。我怎樣才能做到這一點?發現三個或四個逗號分隔的用正則表達式數字
比方說,我有一個字符串*White 4,5,6 LOTE Jr. Service Learning Kick-Off (2017-10-6)
,並希望找到一個子正則表達式的\d,\d,\d|,\d
,相當於用逗號分隔的任何一組3個或4個號碼,如果正則表達式不存在,返回一個空字符串。我怎樣才能做到這一點?發現三個或四個逗號分隔的用正則表達式數字
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+)?/
的整數;如果你需要浮點數或複數,請問這樣明確(他們具有相當的更多...複雜)。