亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

js正則斷言的問(wèn)題
高洛峰
高洛峰 2016-11-11 10:06:42
0
2
666

遇到一個(gè)很奇怪的問(wèn)題,無(wú)法匹配

其實(shí)我的本意是匹配網(wǎng)址的

/(http|https)(?=:\/\/)/.test('http://')
/(http|https)(?=:\/\/)/.test('http://www.baidu.com')

上面的兩個(gè)都能正確的匹配,但是為啥下面那個(gè)就不行了呢?

/(http|https)(?=:\/\/)123/.test('http://123')

請(qǐng)大家賜教


高洛峰
高洛峰

擁有18年軟件開(kāi)發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

reply all(2)
學(xué)霸

你不小心用到了零寬斷言,其中問(wèn)號(hào)(?)是匹配其后面內(nèi)容前面的位置,舉例來(lái)說(shuō),三個(gè)單詞(going thing learning)如果你想要匹配出(go th learn),而不需要 ing 時(shí),才會(huì)用到零寬斷言,正則是這樣的:

/\w+(?=ing)/

所以,上面兩句匹配到的是 http 而不是 http:// 或者 http://www.baidu.com

因此,你需要匹配 http://123,只要把零寬斷言去掉即可

/(http|https)(:\/\/)123/

再如,你要匹配的僅是 http:// 或者 https:// 后面的內(nèi)容,那么就要這樣寫(xiě):

/(?!http|https:\/\/)123/

希望有所幫助~ :)


三叔

零寬斷言并不會(huì)包含匹配的字符串本身,所以上面的正則能匹配http://但是獲取到的字符串里并不會(huì)包含://而是只包括http所以后面跟上123就匹配不上了。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template