正則匹配結果取反(正則中的前瞻,負向前瞻與后顧)


昨天學習群里有人遇到這樣的問題,要取api/后面不是/v1的路徑,這樣的正則改怎么寫。要解決這個問題就用到了正則中的負向前瞻。前瞻向后看后面的是否匹配,匹配的話就通過,負向前瞻就是看后面的是否不匹配,不匹配就通過,還有一個與之相反的向前看叫后顧。

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

 

通過查看上面的圖片顯示的信息,我們應該知道提出問題的同學的正則就應該這樣寫

var pattern=/api(?!\/v1)/;
var str='api/v1';            
var str1='api/av1';
console.log(pattern.test(str)) // false  api后面緊跟的是/v1時候驗證不通過
console.log(pattern.test(str1)) // true  api后面緊跟的不是/v1時候驗證通過

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM