我試着學習JavaScript正則表達式,得到了這個表達式的地方:的Javascript正則表達式查找數字分組
"1234567890".match(/(\d{3})+(?!\d)/g)
["234567890"] //result from log
我不明白爲什麼會是這個樣子。任何幫助解釋這將不勝感激。謝謝!
我試着學習JavaScript正則表達式,得到了這個表達式的地方:的Javascript正則表達式查找數字分組
"1234567890".match(/(\d{3})+(?!\d)/g)
["234567890"] //result from log
我不明白爲什麼會是這個樣子。任何幫助解釋這將不勝感激。謝謝!
正則表達式匹配數字組,其條件是組長度必須是3的倍數,並且組後的字符不能是數字。
這是它如何工作的:
(\d{3}) // match exactly 3 digits
+ // 1 to n times
(?!\d) // Negative lookahead - assert that the next character is not a digit
在您的測試字符串,唯一可能的匹配從match()
調用返回的一個。
請參見下面的代碼片段的另一個例子:
var matches = "1234foobar5678901".match(/(\d{3})+(?!\d)/g);
console.log(matches); // ["234", "678901"]
請不要問這樣教我這樣那樣的問題。 – karan
正如老人所說:「如果你不能把它解釋給一個六歲的孩子,你自己真的不明白它,如果你能教人理解他們不會問的東西,那不是stackoverflow是關於什麼的? – praHoc
親愛的@praHoc:在問任何事之前請看這個http://stackoverflow.com/help/how-to-ask – karan