js正則表達式筆記

在正則表達式當中有個東西叫做前瞻

表達式 名稱 描述
(?=exp) 正向前瞻 匹配後面滿足表達式exp的位置
(?!exp) 負向前瞻 匹配後面不滿足表達式exp的位置
(?<=exp) 正向後瞻 匹配前面滿足表達式exp的位置(JS不支持)
(?<!exp) 負向後瞻 匹配前面不滿足表達式exp的位置(JS不支持)

  由於 JS 原生不支持後瞻,所以這裏就不研究它了。我們來看看前瞻的作用:

1     var str = 'Hello, Hi, I am Hilary.';
2     var reg = /H(?=i)/g;
3     var newStr = str.replace(reg, "T");
4     console.log(newStr);//Hello, Ti, I am Tilary.

  在這個DEMO中我們可以看出正向前瞻的作用,同樣是字符"H",但是隻匹配"H"後面緊跟"i"的"H"。就相當於有一家公司reg,這時候有多名"H"人員前來應聘,但是reg公司提出了一個硬條件是必須掌握"i"這項技能,所以"Hello"就自然的被淘汰掉了。

  那麼負向前瞻呢?道理是相同的:

1     var str = 'Hello, Hi, I am Hilary.';
2     var reg = /H(?!i)/g;
3     var newStr = str.replace(reg, "T");
4     console.log(newStr);//Tello, Hi, I am Hilary.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章