js正則 ?


?:pattern

匹配pattern但不獲取匹配結果

var str = 'aaabbb'var reg = /(a+)(?:b+)/str.match(reg) // ["aaabbb", "aaa", index: 0, input: "aaabbb", groups: undefined]

?=pattern 零寬度正預測先行斷言

意思就是匹配內容右側必須為pattern

var str = "i'm singing and dancing";var reg = /\b(\w+(?=ing\b))/gvar res = str.match(reg);console.log(res)// ["sing", "danc"]

?!pattern 零寬度負預測先行斷言

就是匹配右側不是pattern內容

var str = 'nodejs'var reg = /node(?!js)/reg.test(str)   // false

?<=pattern

匹配這個位置之前為pattern的內容

var str = '111$222'var reg = /(?<=\$)\d+/str.match(reg) // ["222", index: 4, input: "111$222", groups: undefined]

?<!pattern

匹配這個位置之前部位pattern的內容

var str = '¥998$888';var reg = /(?<!\$)\d+/;console.log(reg.exec(str)) //998


免責聲明!

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



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