使用正規表示式按位數拆分數字

2021-08-29 13:01:14 字數 431 閱讀 6725

看下面一段**:

s='12345678'

s.gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1,")

返回的結果是12,345,678

正規表示式中,?=為正向預查,在任何開始匹配圓括號內的正規表示式模式的位置來匹配搜尋字串,?!為負向預查,在任何開始不匹配該正規表示式模式的位置來匹配搜尋字串,這個正規表示式的意思為:匹配以乙個數字開頭,接著跟上n組3個數字,但不以乙個數字結尾。

?=和?!為預查,不消耗字串,發現匹配後立即開始下一次搜尋,而不是從包含預查的字元之後開始。

gsub!和scan一樣,從字串的0位開始掃瞄匹配正規表示式,所以當掃瞄到1位時,出現第乙個匹配的字串為2345678,返回[2,678],接著向後掃瞄到4位時,出現第二個匹配的字串為5678,返回[5,678]。

數字正規表示式

驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證數字有0到兩位小數 0 9 0 9 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9...

數字正規表示式

驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 ...

js數字正規表示式,js小數正規表示式

js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...