亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于正負向前瞻,感覺教程和定義不一樣

正向前瞻exp(?=assert)是在正則表達式匹配到規則的時候向前檢查是否符合斷言。是的話執行正向前瞻

負向前瞻exp(?!assert)是在正則表達式匹配到規則的時候向前檢查是否不符合斷言。是的話執行負向前瞻

都是從后往前匹配

\w匹配的是 [a-zA-Z_0-9]

'a2*34v8'.replace(/\w(?=\d)/g,‘X’)

為什么結果是‘X2*X4X8’?不是應該從后往前匹配么?a符合\w,但是前面沒有數字不符合(?=\d)。

還有'a2*34v8'.replace(/\w(?!\d)/g,‘X’) ,結果是‘aX*3XXX’

這兩個都和正向前瞻和負向前瞻定義相反,為什么??


正在回答

1 回答

“正則表達式是從文本頭部向尾部解析”。這就像在走路,沒走過的路在你的前面,需要你往前看(前瞻);走過的路需要你回頭看(后顧)

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript正則表達式
  • 參與學習       96798    人
  • 解答問題       126    個

JavaScript正則表達式教程,理解之后,正則表達式比你想象的簡單

進入課程

關于正負向前瞻,感覺教程和定義不一樣

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號