正則中的 ?= ?<= ?! ?<!=
標(biāo)簽:
JavaScript
正则中的 ?= 、?<= 、?!、 ?<!=
以前看正则的时候遇到?= 、?<=,在网上搜索出来名字有称之为正向预查、负向预查的,有称之为前瞻、后顾的,看用法的话大概知道是怎么回事,但就是记不住啊,对于我来说,这名称太抽象(鬼扯)了。
今天看书看到作者讲到正则,感觉自己又有所领悟,翻出来重新理解了一下。
如今我的理解是这样的,我将<记为方向,包含这个箭头说明是放在目标内容左边的:
-
?=
: 询问后面跟着的东西是否等于这个 /b(?=a)/.test(‘bab’) -
?<=
: 询问是否以这个东西开头 /(?<=a)b/.test(‘ab’) -
?!
: 询问后面跟着的东西是否不是这个 /b(?!a)/.test(‘bb’) -
?<!=
:询问是否不是以这个东西开头 /(?<!=a)b/.test(‘bb’)
其实按照我这样理解的话,?!
后面要是加上=
就更加符合我的心理预期了,最后还有一点,匹配得到的结果并不包含 ?=、?<=、?!和?<!=里面的内容
顺便记录一下
javascript的replace方法的第二个参数,如果是传入的字符串的话,有几个特殊的东西。
1. ```$&`` : 表示匹配到的结果。'javascript'.replace(/script/, '$&$&') -> ‘javascriptscript’
2. ```$\```` : 表示匹配到的结果的左边或者说前面的那一堆字符串。 'javascript'.replace(/script/, '$& 不是 $`') -> "javascript 不是 java"
3. ```$'``` : 表示匹配到的结果的右边或者说后面的那一堆字符串。 '我是猪'.replace(/我是/, "$&$'") -> "我是猪猪"
4. ```$$``` : 表示$字符。
作者:不过从心而已
来源:简书
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)