在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ 想請(qǐng)教下,這個(gè)正則的原理

想請(qǐng)教下,這個(gè)正則的原理

/^(?:\/(?=$))?$/

這個(gè)正則是用來匹配 空字符串的

"".match(/^(?:\/(?=$))?$/)
結(jié)果是 ["", index: 0, input: "", groups: undefined]

"1".match(/^(?:\/(?=$))?$/)
結(jié)果是 null

?= 我知道這是先行斷言,表示后邊必須跟著$。
但不明白這個(gè)正則整體是怎么匹配出來 空 的。(?=$)已經(jīng)限定了后邊必須跟著$ ,那就至少有了$, 又怎么可能為空呢?

回答
編輯回答
神經(jīng)質(zhì)

(?=)會(huì)作為匹配校驗(yàn),但不會(huì)出現(xiàn)在匹配結(jié)果字符串里面

(?:)會(huì)作為匹配校驗(yàn),并出現(xiàn)在匹配結(jié)果字符里面,它跟(...)不同的地方在于,不作為子匹配返回。

var data = 'windows 98 is ok';
data.match(/windows (?=\d+)/);  // ["windows "]
data.match(/windows (?:\d+)/);  // ["windows 98"]
data.match(/windows (\d+)/);    // ["windows 98", "98"]
2018年4月8日 09:52
編輯回答
孤巷

匹配空白行或一行中只有/的數(shù)據(jù)
如:
點(diǎn)擊查看

2018年3月1日 12:16