搜尋

首頁  >  問答  >  主體

javascript - 正規表示式 /(\d)(?=(\d{3})+\.)/g如果把?=改成?:為什麼結果不一樣?

我記得? :和? =差不多啊,只不過? :捕獲而? =不捕獲

高洛峰高洛峰2817 天前349

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-05-19 10:37:15

    不知道你需求是怎樣 單單從題目來看 其實差別不大

    ?=是正向前瞻性 ?:是非捕捉

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:37:15

    如果是檢查是否match,那麼一定都是回傳true的,但如果你取 Full match 兩種是不一樣的。

    要理解 Lookahead 的意義,它match到的是一個位置,而不是真正的字符

    推薦一個測試 regex 的站
    https://regex101.com

    用你提供的兩個正規和 1333 測試分別結果

    回覆
    0
  • 取消回覆