成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

正則表達(dá)式引擎淺析

開發(fā) 后端
了解正則表達(dá)式引擎的是我們基本的要求,只有掌握了正則表達(dá)式引擎的原理,那么我們才能做好正則表達(dá)式的使用,本文就向你介紹相關(guān)的內(nèi)容。

正則表達(dá)式引擎的內(nèi)部工作機(jī)制是什么呢?我們有的時(shí)候會碰到當(dāng)使用正則表達(dá)式的時(shí)候很多的結(jié)果并不是我們想要的,那么其原因是什么呢?那么這里就會給你一個(gè)答案:

了解正則表達(dá)式引擎的必要性:

知道正則表達(dá)式引擎是如何工作的有助于你很快理解為何某個(gè)正則表達(dá)式不像你期望的那樣工作。

正則表達(dá)式引擎的種類:

有兩種類型的引擎:文本導(dǎo)向(text-directed)的引擎和正則導(dǎo)向(regex-directed)的引擎。Jeffrey Friedl把他們稱作DFA和NFA引擎。本文談到的是正則導(dǎo)向的引擎。這是因?yàn)橐恍┓浅S杏玫奶匦裕纭岸栊浴绷吭~(lazy quantifiers)和反向引用(backreferences),只能在正則導(dǎo)向的引擎中實(shí)現(xiàn)。所以毫不意外這種引擎是目前***的引擎。

你可以輕易分辨出所使用的引擎是文本導(dǎo)向還是正則導(dǎo)向。如果反向引用或“惰性”量詞被實(shí)現(xiàn),則可以肯定你使用的引擎是正則導(dǎo)向的。你可以作如下測試:將正則表達(dá)式<<regex|regex not>>應(yīng)用到字符串“regex not”。如果匹配的結(jié)果是regex,則引擎是正則導(dǎo)向的。如果結(jié)果是regex not,則是文本導(dǎo)向的。因?yàn)檎齽t導(dǎo)向的引擎是“猴急”的,它會很急切的進(jìn)行表功,報(bào)告它找到的***個(gè)匹配 。

正則表達(dá)式引擎的小小總結(jié):

正則導(dǎo)向的引擎總是返回最左邊的匹配,這是需要你理解的很重要的一點(diǎn):即使以后有可能發(fā)現(xiàn)一個(gè)“更好”的匹配,正則導(dǎo)向的引擎也總是返回最左邊的匹配。

當(dāng)把<<cat>>應(yīng)用到“He captured a catfish for his cat”,引擎先比較<<c>>和“H”,結(jié)果失敗了。于是引擎再比較<<c>>和“e”,也失敗了。直到第四個(gè)字符,<<c>>匹配了“c”。<<a>>匹配了第五個(gè)字符。到第六個(gè)字符<<t>>沒能匹配“p”,也失敗了。引擎再繼續(xù)從第五個(gè)字符重新檢查匹配性。直到第十五個(gè)字符開始,<<cat>>匹配上了“catfish”中的“cat”,正則表達(dá)式引擎急切的返回***個(gè)匹配的結(jié)果,而不會再繼續(xù)查找是否有其他更好的匹配。

正則表達(dá)式引擎的相關(guān)內(nèi)容就向你介紹到這里,希望你對正則表達(dá)式引擎有所了解。

【編輯推薦】

  1. 淺析PHP正則表達(dá)式的應(yīng)用實(shí)例
  2. 正則表達(dá)式匹配實(shí)例詳解
  3. 正則表達(dá)式匹配數(shù)字實(shí)例解析
  4. 正則表達(dá)式匹配字符串實(shí)現(xiàn)詳解
  5. 正則表達(dá)式入門必學(xué)的星星點(diǎn)點(diǎn)
責(zé)任編輯:仲衡 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-08-07 15:16:10

C#正則表達(dá)式

2010-07-19 10:40:16

Perl正則表達(dá)式

2009-08-20 16:13:32

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

2009-09-16 15:45:56

email的正則表達(dá)式

2009-09-16 11:17:12

PHP正則表達(dá)式定位字

2009-09-16 13:24:30

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

2009-09-16 18:03:05

Java正則表達(dá)式正則表達(dá)式實(shí)現(xiàn)

2009-08-20 14:43:03

C#正則表達(dá)式Rege

2009-09-16 10:43:22

PHP正則表達(dá)式函數(shù)

2009-08-20 13:09:28

C#正則表達(dá)式

2009-09-16 16:01:57

PHP正則表達(dá)式正則表達(dá)式的應(yīng)用

2018-09-27 15:25:08

正則表達(dá)式前端

2009-08-20 15:10:33

C#正則表達(dá)式

2009-08-20 15:02:41

C#正則表達(dá)式

2009-08-20 15:06:51

C#正則表達(dá)式

2009-08-20 14:57:00

C#正則表達(dá)式

2020-09-04 09:16:04

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

2009-08-20 13:26:35

C#正則表達(dá)式

2024-09-14 09:18:14

Python正則表達(dá)式

2009-08-13 15:02:52

C#正則表達(dá)式引擎貪婪
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧洲视频一区二区 | 免费一区 | 久久噜| 亚洲国产精品成人 | 国产精品99久久久久久宅男 | 一区二区视频 | 成人在线视频一区 | 电影91久久久 | 亚洲一区二区三区高清 | 91av在线影院| 久久久久久免费毛片精品 | 午夜爽爽爽男女免费观看影院 | 欧美日韩综合精品 | 成人三级在线播放 | 四虎永久免费地址 | 亚洲一区中文字幕 | 国产 日韩 欧美 在线 | 日韩中文一区二区三区 | 91精品国产综合久久国产大片 | 国产精品亚洲第一区在线暖暖韩国 | 天堂一区二区三区 | 国产高清不卡 | 色婷婷久久久久swag精品 | 日本午夜精品 | 淫片一级国产 | 精品福利一区 | 久草新在线 | 黄色大片免费网站 | 亚洲欧美一区二区三区国产精品 | 国产精品免费av | 999热精品视频 | 91pao对白在线播放 | 国产精品亚洲一区二区三区在线 | 久久精品国产一区二区三区不卡 | 日韩欧美一区二区三区免费观看 | 久久不射电影网 | 国产精产国品一二三产区视频 | 日本视频免费 | 看片91| 免费一区 | 看av片网站|