正規表示式的正向預查

2022-05-01 09:57:08 字數 543 閱讀 7997

首先,讓我們先做一道演算法題: 將一串帶小數的金額,例如: 1010000.5689, 每3位加上','分隔符。

剛開始我的做法是將.左邊的部分單獨提取出來進行正則替換,這花費了不少的步驟,直到我發現這種做法:

function commafy(str))(?=(\d)+\.)/g, '$1,')

}console.log(commafy('1010000.5689'))

其中的?=稱為正向**,也叫正向前瞻

正向**(?=pattern),即查詢乙個字串,該字串的後邊接有符合pattern條件的子字串,但此pattern為非匹配捕獲,即不需要獲取以供以後使用

因此 1(第乙個1) 後接有010 000,符合條件

0(第二個0) 後接有000 符合條件

此外還有

負向前瞻 (?!pattern) 匹配後面不是pattern的字串

正向後瞻 (?<=pattern) 匹配前面是pattern的字串 (js不支援)

負向後瞻 (?

正規表示式之正向預查和反向預查

正向預查 1.正向正預查 例如 foo bar 匹配後面帶有bar的foo 它可以匹配 foobar,abcfoobar 中的foo 但是不能匹配 fooabc 中的foo 2.正向負預查 例如 foo bar 匹配後面不帶bar的foo 它可以匹配 foo123 但是不能匹配 foobar 負向預...

正規表示式 js 含有 正向預查和負向預查

第一次見到正規表示式的時候,感覺好難啊,要記得東西怎麼那麼多.學了好幾遍,但還是很矇圈,可能是用的少,平時用的時候也就那麼基礎需要使用,再者就是複製貼上正規表示式.那麼什麼是正規表示式呢?正規表示式就是乙個描述字元規則的物件.那為什麼會有正規表示式呢,這裡引用沫晴姐姐的一句話,就是因為計算機笨唄 沫...

案例 使用正規表示式中的正向預查和反向預查

需求如下 從excel 裡複製下來的數千行下列字串如上,需要儲存下 r20171028153620837 的字元,其餘刪除。最快捷的方法就將這一列值複製到notepad 中,使用正規表示式 r d 匹配到這一字元,怎麼樣能得到匹配之外的結果而進行replace替換為空呢,那這樣就大工告成了。然後就用...