關於正則校驗前後不一致問題

2021-10-01 12:10:14 字數 380 閱讀 1800

自己做專案的時候遇到了乙個神奇的事,就是遇到了校驗前後不一致的。當時找了挺久後面發現是new regexp()這個傢伙的g屬性,設定的全域性匹配。regexp有乙個lastindex屬性,來儲存索引開始位置。

上面的問題,第一次呼叫的lastindex值為0,到了第二次呼叫就不是0了所以導致了不一樣的校驗結果

解決方案:

1.const reg = new regexp(); reg.space.lastindex = 0

2. 不引用正則,而是直接寫出校驗(/\s+/g).test(str)

3. 去除g這個校驗字元

建議使用1>2>3

version magic 不一致問題

碰到乙個問題,在開發過程中發現以前編譯的模組載入失敗了。wlan version magic 4.1.15 gfb2dbf6 smp preempt mod unload armv7 p2v8 should be 4.1.15 ge5de83b dirty smp preempt mod unloa...

ceph pg不一致問題

今天在公司環境中出現了pg不一致問題,通過ceph health detail命令檢視如下 pg 19.211 is active clean inconsistent,acting 88,16 pg 19.214 is active clean inconsistent,acting 59,36 ...

快取不一致

當程式在執行過程中,會將運算需要的資料從主存複製乙份到cpu的快取記憶體當中,那麼cpu進行計算時就可以直接從它的快取記憶體讀取資料和向其中寫入資料,當運算結束之後,再將快取記憶體中的資料重新整理到主存當中。舉個簡單的例子 i i 1。當執行緒執行這個語句時,會先從主存當中讀取i的值,然後複製乙份到...