自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

正則表達(dá)式匹配單詞細(xì)節(jié)解析

開發(fā) 后端
正則表達(dá)式匹配單詞是如何實(shí)現(xiàn)的呢,這里我們向你介紹了一個(gè)詳細(xì)的實(shí)施辦法以及實(shí)現(xiàn)的原理分析,希望對(duì)你了解正則表達(dá)式匹配單詞有所幫助。

正則表達(dá)式匹配單詞其實(shí)就是要處理單詞的邊界問題,那么具體的實(shí)現(xiàn)是如何呢?正則表達(dá)式匹配單詞所涉及的方法以及原理是什么呢?那么讓我們開始吧

正則表達(dá)式匹配單詞的內(nèi)幕:

元字符<<\b>>也是一種對(duì)位置進(jìn)行匹配的“錨”。這種匹配是0長度匹配。有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長度 ,所以***個(gè)字符T前面的位置會(huì)被考察。因?yàn)門是一個(gè)“單詞字符”,而它前面的字符是一個(gè)空字符(void),所以\b匹配了單詞邊界。接著<<i>>和***個(gè)字符“T”匹配失敗。匹配過程繼續(xù)進(jìn)行,直到第五個(gè)空格符,和第四個(gè)字符“s”之間又匹配了<<\b>>。然而空格符和<<i>>不匹配。繼續(xù)向后,到了第六個(gè)字符“i”,和第五個(gè)空格字符之間匹配了<<\b>>,然后<<is>>和第六、第七個(gè)字符都匹配了。然而第八個(gè)字符和第二個(gè)“單詞邊界”不匹配,所以匹配又失敗了。到了第13個(gè)字符i,因?yàn)楹颓懊嬉粋€(gè)空格符形成“單詞邊界”,同時(shí)<<is>>和“is”匹配。引擎接著嘗試匹配第二個(gè)<<\b>>。因?yàn)榈?5個(gè)空格符和“s”形成單詞邊界,所以匹配成功。引擎“急著”返回成功匹配的結(jié)果。

【編輯推薦】

  1. 正則表達(dá)式字符集探究
  2. ?*或+正則表達(dá)式使用詳解
  3. 實(shí)現(xiàn)正則表達(dá)式匹配任意字符解析
  4. 淺析正則表達(dá)式實(shí)現(xiàn)字符串的相關(guān)操作
  5. Java正則表達(dá)式實(shí)現(xiàn)條件查詢淺析
責(zé)任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-09-16 16:48:03

正則表達(dá)式匹配數(shù)字

2009-08-20 16:13:32

C#正則表達(dá)式匹配

2009-09-16 16:22:04

正則表達(dá)式匹配

2009-09-16 17:38:49

正則表達(dá)式匹配任意字符

2010-07-28 11:06:41

Flex正則表達(dá)式

2010-08-09 13:58:59

Flex正則表達(dá)式

2010-07-13 17:03:53

Perl正則表達(dá)式

2011-06-16 15:28:31

正則表達(dá)式

2010-07-14 09:37:46

Perl正則表達(dá)式

2018-09-27 15:25:08

正則表達(dá)式前端

2009-09-16 10:59:24

PHP正則表達(dá)式元字符

2021-12-03 08:50:25

LeetCode正則表達(dá)式算法

2009-09-16 13:24:30

PHP正則表達(dá)式匹配

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)

2010-03-04 15:20:20

Ubuntu Patt

2010-03-15 16:21:28

Python正則表達(dá)式

2024-09-14 09:18:14

Python正則表達(dá)式

2009-09-16 12:29:27

PHP正則表達(dá)式正則表達(dá)式修飾符

2010-07-14 10:06:55

Perl正則表達(dá)式

2010-03-10 18:57:53

Python正則表達(dá)式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)