freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

正則表達式手冊ppt課件(參考版)

2025-05-04 03:05本頁面
  

【正文】 A 完 參考資料: CNXCT: (我自己 ) 雁過無痕: 我愛正則表達式: Benz Bus: (PPT模版背景作者 ) 。 曾經(jīng)一個表達式 : div([az09])+/div 54 少用多選分支 c[af]t 與 c(a|b|c|d|e|f)t 6次回溯 (回溯的主要原因 ) 適當使用邊界字符 \bthe\b 匹配 the 不匹配 there ^ $ 等 分支順序 可以選擇字符串中最常出現(xiàn)的字符串放到分支最前面 55 系統(tǒng)內(nèi)部的優(yōu)化 ?字符串連接 [abc]當作一個元素,避免三次迭代 ?化簡量詞優(yōu)化 .*跟 (?:.)*匹配結果一致,但前效率更高 ?消除不必要括號 如上,它會用前者代替后者 ?消除不必要的字符組 [.]中就一個字符,會被優(yōu)化為 \. ?過度回溯檢測 前面提到過 PHP限制回溯次數(shù)的截圖默認 10W次 ?量詞等價轉(zhuǎn)換 \d\d\d\d 跟 \d{4}哪個效率高?前者 4個元素,后者一個元素 正則應用原理 ?表達式編譯 檢查語法,并編譯為內(nèi)部形式 ?傳動開始 定位至字符串起始位置 ?元素檢測 相連元素、量詞修飾符、控制權 ?尋找匹配結果 NFA找到后鎖定,返回。這樣的正則表達式、無限次地運行次數(shù),無異于一根根稻草的堆加,終于能將駱駝壓死。 說得狠一點,“濫用 點號 、 星號 和 加號 甚至括號 是不環(huán)保、不負責任的做法”。例如,寫析取 twitter消息的腳本,假設一條消息的 xml正文部分結構是 span class=”msg”…/span 且正文中無尖括號,那么 span class=”msg”[^]{1,480}/span這種寫法的思路要好于 span class=”msg”.*/span 原因有二: ?一是使用 [^],它保證了文本的范圍不會超出下一個 小于號 所在的位置; ?二是明確長度范圍, {1,480},其依據(jù)是一條 twitter消息大致能的字符長度范圍。 明確需求 具體說來,就是謹慎用 點號 這樣的元字符,盡可能不用 星號 和 加號 這樣的任意量詞。這樣做的目的是先消除漏匹配(剛開始先盡可能多地匹配,做加法),然后再一點一點地消除誤匹配(做減法)。 JAVASCRIPT連環(huán)視都不支持 51 先粗后細,先加后減 使用正則表達式語法對于目標文本進行描述和界定,可以像畫素描一樣,先大致勾勒出框架,再逐步在局步實現(xiàn)細節(jié)。 比如表達式 a href=([?”])[^?”]+\1 用來匹配字符串 a href=?….? 和 a href=“....”,結果中 \1分別是 ?和 ” 彪悍的例子 表達式: div([az09])+/div 字符串: div……/div 1W 個字符 引擎會捕獲多少個組呢? 捕獲不分組 (?:) 48 其他 ? 遞歸 ? 條件判斷 ? 字符編碼 ? 語言特性 ? 修飾符 ? NFA表達式主導、 DFA文字主導 ? 沒想起來的。 字符例子: 、 、 目的: 表達式:? (\.\d\d[19]?)\d* $1 \d*改成 \d+ (\.\d\d[19]?) \d+ $1 46 占有優(yōu)先量詞與固化分組 *+、 ++、 ?+ 匹配過程如何? 上個例子如何解決? \.(\d\d(?[19]?))\d+ 47 捕獲組與反向引用 捕獲組 () ()是子表達式的標識,同時,匹配結果會保存起來,最后一同給出。 字符串 : ?divtest1/div ?divxxxxx…xxxx/divdivtest/div(星號處是 10W個字符 ) 表達式 : div.+?/div(想要的結果是每個閉合的 div為一組) 分析一下引擎會記錄多少個備選狀態(tài)? 第一個備選狀態(tài)是幾個字符? 第二個呢? 第 3 4 5個呢? 第 n個呢? 一共多少個字符呢?占多大內(nèi)存? 45 一個例子 DB中有個字段使用了浮點數(shù),需要程序處理。其中“ ^” 匹配位置 0,“ (?=[az])” 匹配位置 0,“ [az09]+”匹配字符串“ a12” ,“ $” 匹配位置 3。 此時正則表達式匹配完成,報告匹配成功。這個正則的意義就是匹配
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1