課程
/后端開(kāi)發(fā)
/PHP
/PHP進(jìn)階篇
$p = "|<[^>]+>(.*?)</[^>]+>|i";這個(gè)表達(dá)式如何理解?
2016-12-11
源自:PHP進(jìn)階篇 3-6
正在回答
$p = "|<[^>]+>(.*?)<[^>]+>|i";背景:.*?表示最小匹配所有字符(拒絕貪婪匹配)分析:首先,<[^>]+>對(duì)應(yīng)<li>,在方括號(hào)內(nèi)部的^表示除了方括號(hào)內(nèi)的原子以外的字符,即[^>]表示除了>以外的任意一個(gè)字符,+表示一個(gè)或者多個(gè)字符。后面的</[^>]+>也是同理,只不過(guò)在前面多添加了一個(gè)/反斜杠。最后,在此規(guī)則串中,分界符為||而不是//。因此,對(duì)于其中的</li>里面的/可以不使用轉(zhuǎn)義字符,直接使用/。
初學(xué),有錯(cuò)誤請(qǐng)見(jiàn)諒~
Allengd
尖括號(hào)開(kāi)始把我也忽悠住了,看了別人的回復(fù)才明白了。.*?匹配除換行符以外的0次或1次,懶惰模式
<是左尖括號(hào),[^>]指除了右尖括號(hào)以外的任何字符,+指匹配一次或多次,>指右尖括號(hào),(.*?)是一種懶惰匹配模式,匹配任何可見(jiàn)字符,</[^>]+>同理,i指忽略大小寫(xiě)
開(kāi)頭和結(jié)尾的|應(yīng)該和/一樣吧 因?yàn)閔tml標(biāo)簽里面有/所以用|不用轉(zhuǎn)義嗎?? <匹配<, [^>]+匹配不是>的字符在[]里面^代表不是后面的字符額+表示匹配多次,>匹配>;(.*?)表示組 .匹配除換行符 \n 之外的任何單字符,*?代表非貪婪模式;后面的還開(kāi)頭的一個(gè)差不多匹配</xxxx>;i代表不區(qū)分大小寫(xiě)
舉報(bào)
輕松學(xué)習(xí)PHP中級(jí)課程,進(jìn)行全面了解,用PHP快速開(kāi)發(fā)網(wǎng)站程序
2 回答$p = "|<[^>]+>(.*?)</[^>]+>|i"
4 回答'/bbc/i',這里直接用'/$p/i'可以嗎?
2 回答$p = "|<[^>]+>(.*?)</[^>]+>|i";
5 回答一定要寫(xiě)/bbc/i才能匹配嗎?可以把/bbc/代換成$p嗎
2 回答$p = 'http://'; $p = '/'.preg_quote($p, '/').'/'; echo $p;這三行代碼是什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-04-11
$p = "|<[^>]+>(.*?)<[^>]+>|i";
背景:.*?表示最小匹配所有字符(拒絕貪婪匹配)
分析:
首先,<[^>]+>對(duì)應(yīng)<li>,在方括號(hào)內(nèi)部的^表示除了方括號(hào)內(nèi)的原子以外的字符,即[^>]表示除了>以外的任意一個(gè)字符,+表示一個(gè)或者多個(gè)字符。
后面的</[^>]+>也是同理,只不過(guò)在前面多添加了一個(gè)/反斜杠。
最后,在此規(guī)則串中,分界符為||而不是//。因此,對(duì)于其中的</li>里面的/可以不使用轉(zhuǎn)義字符,直接使用/。
初學(xué),有錯(cuò)誤請(qǐng)見(jiàn)諒~
2017-03-14
尖括號(hào)開(kāi)始把我也忽悠住了,看了別人的回復(fù)才明白了。.*?匹配除換行符以外的0次或1次,懶惰模式
2017-03-14
<是左尖括號(hào),[^>]指除了右尖括號(hào)以外的任何字符,+指匹配一次或多次,>指右尖括號(hào),(.*?)是一種懶惰匹配模式,匹配任何可見(jiàn)字符,</[^>]+>同理,i指忽略大小寫(xiě)
2016-12-12
開(kāi)頭和結(jié)尾的|應(yīng)該和/一樣吧 因?yàn)閔tml標(biāo)簽里面有/所以用|不用轉(zhuǎn)義嗎?? <匹配<, [^>]+匹配不是>的字符在[]里面^代表不是后面的字符額+表示匹配多次,>匹配>;(.*?)表示組 .匹配除換行符 \n 之外的任何單字符,*?代表非貪婪模式;后面的還開(kāi)頭的一個(gè)差不多匹配</xxxx>;i代表不區(qū)分大小寫(xiě)