這篇文章給大家分享的是有關(guān)正則表達(dá)式如何匹配單詞的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
10年積累的做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有土默特右旗免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
正則表達(dá)式匹配單詞的內(nèi)幕:
元字符<<\b>>也是一種對(duì)位置進(jìn)行匹配的“錨”。這種匹配是0長(zhǎng)度匹配。有4種位置被認(rèn)為是“單詞邊界”:
1)在字符串的***個(gè)字符前的位置(如果字符串的***個(gè)字符是一個(gè)“單詞字符”)
2)在字符串的***一個(gè)字符后的位置(如果字符串的***一個(gè)字符是一個(gè)“單詞字符”)
3)在一個(gè)“單詞字符”和“非單詞字符”之間,其中“非單詞字符”緊跟在“單詞字符”之后
4)在一個(gè)“非單詞字符”和“單詞字符”之間,其中“單詞字符”緊跟在“非單詞字符”后面
“單詞字符”是可以用“\w”匹配的字符,“非單詞字符”是可以用“\W”匹配的字符。在大多數(shù)的正則表達(dá)式實(shí)現(xiàn)中,“單詞字符”通常包括<<[a-zA-Z0-9_]>>。
例如:<<\b4\b>>能夠匹配單個(gè)的4而不是一個(gè)更大數(shù)的一部分。這個(gè)正則表達(dá)式不會(huì)匹配“44”中的4。
換種說法,幾乎可以說<<\b>>匹配一個(gè)“字母數(shù)字序列”的開始和結(jié)束的位置。
“單詞邊界”的取反集為<<\B>>,他要匹配的位置是兩個(gè)“單詞字符”之間或者兩個(gè)“非單詞字符”之間的位置。
正則表達(dá)式匹配單詞的原理探討:
◆深入正則表達(dá)式引擎內(nèi)部
讓我們看看把正則表達(dá)式<<\bis\b>>應(yīng)用到字符串“This island is beautiful”。引擎先處理符號(hào)<<\b>>。因?yàn)閈b是0長(zhǎng)度 ,所以***個(gè)字符T前面的位置會(huì)被考察。因?yàn)門是一個(gè)“單詞字符”,而它前面的字符是一個(gè)空字符(void),所以\b匹配了單詞邊界。接著<>和***個(gè)字符“T”匹配失敗。匹配過程繼續(xù)進(jìn)行,直到第五個(gè)空格符,和第四個(gè)字符“s”之間又匹配了<<\b>>。然而空格符和<>不匹配。繼續(xù)向后,到了第六個(gè)字符“i”,和第五個(gè)空格字符之間匹配了<<\b>>,然后<
感謝各位的閱讀!關(guān)于“正則表達(dá)式如何匹配單詞”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!