[https://blog.csdn.net/example440982/article/details/85177133
]
斷言寫法
前瞻斷言
(?=exp) 順序肯定環(huán)視滥比,表示所在位置右側(cè)能夠匹配exp
(?!exp) 順序否定環(huán)視溪北,表示所在位置右側(cè)不能匹配exp
后瞻斷言
(?<=exp) 逆序肯定環(huán)視蜘拉,表示所在位置左側(cè)能夠匹配exp
(?<!exp) 逆序否定環(huán)視,表示所在位置左側(cè)不能匹配exp
括號(hào)是必須的如输,寫法: (?!=...)
有些語言并不完全支持鼓黔,比如:javascript的正則并不支持后瞻斷言表達(dá)式,使用了會(huì)報(bào)錯(cuò)的挨决。
這里有坑请祖,不要隨便用后瞻斷言订歪,舊瀏覽器不支持
其中exp是一個(gè)正則表達(dá)式可以是子模式,如:(?=((exp))脖祈。
*環(huán)視也稱斷言;斷言是不占用字符串的((?=exp)所以不能引用,exp是占用字符串的)
** 例子 **
var s="img.jpg,abc.gif,123.jpeg";
s.match(/\w*(?=\.gif)/);
結(jié)果:["abc"]
var a = 'http://ydqwytest.suolwei.cn/index.php?s=/Wechat/Commerce/Commerce/id/23524'
a.match(/(?<=id)[\/|=|&](\d*)/i)[1]
"23524"
js使用 后瞻斷言 有坑