国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

正則表達式

whataa / 513人閱讀

摘要:元字符指在正則表達式中有特殊含義的字符包括定界符定位符限定符轉義符選擇符等。其中是非捕獲元字符之一,還有兩個非捕獲元字符是和正向預查,在任何匹配的字符串開始處匹配查找字符串。

定義
是一組描述字符串特征的字符
作用
用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等
語法

使用斜杠作為定界符,如 /[-a-z]/。正則表達式分為普通字符和元字符,普通字符分為打印字符和非打印字符,打印字符包括字母字符、數字、標點及一些其他符號,非打印字符指打印到紙張上后不可見的字符,包括空格符、回車符、制表符、垂直制表符、換行符、換頁符等。元字符指在正則表達式中有特殊含義的字符包括定界符、定位符、限定符、轉義符、選擇符等。
限定符用來限定元素出現的次數,有 ? + * {n} {n,} {n,m} 共6種。限定符的默認模式是貪婪模式,貪婪模式會盡可能多的匹配字符,在它們的后面加上一個?就會變成非貪婪模式,非貪婪模式會盡可能少的匹配字符,如

$subject="< a1>expressions< a1>";
$pattern="/<.*>/";
$res=preg_match_all($pattern, $subject,$matches);
echo $matches[0][0];//結果為  < a1>expressions< a1>
$res=preg_match_all("/<.*?>/", $subject,$matches);
echo $matches[0][0];//結果為  < a1>
定位符

用來描述字符串或單詞的邊界,也就是指單詞和空格間的位置,^和$分別指字符串的開始與結束,描述單詞的前或后邊界,B表示非單詞邊界。不能對定位符使用限定符。例如, "er" 可以匹配"a never aa" 中的 "er",但不能匹配 "a verb" 中的 "er"。"erB" 能匹配 "verb" 中的 "er",但不能匹配 "never" 中的 "er"。

選擇符

圓括號用來使被括起來的部分最為一個整體存在,可以用限定符修飾,如 (aa)* ,同時被括起來的部分也會成為一個子表達式被緩存起來用于后面的引用,如 (aa)b1可以匹配 aabaa或aabaac,另外引用時最大只能到99,意思就是緩沖區最多只能放99個子表達式,如果不需要進行引用則可以用?:禁用緩存,如 "industr(?:y|ies) 就是一個比 "industry|industries" 更簡略的表達式 。其中?:是非捕獲元字符之一,還有兩個非捕獲元字符是?=和?!
(?=pattern) 正向預查,在任何匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如,"Windows (?=95|98|NT|2000)" 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。預查不消耗字符,也就是說,在一個匹配發生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始;
(?!pattern) 負向預查,在任何不匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如"Windows (?!95|98|NT|2000)" 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。預查不消耗字符,也就是說,在一個匹配發生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始

操作符的運算優先級

由高到低依次為 轉義符、圓括號和方括號、限定符、定位符和普通字符、"或"操作符,如,普通字符具有高于替換運算符的優先級,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",請使用括號創建子表達式,即"(m|f)ood"

PHP中和正則表達式相關的函數

preg_quote - 轉義正則表達式字符
preg_match — 執行正則表達式
preg_match_all - 執行一個全局正則表達式
preg_replace - 執行一個正則表達式并替換匹配內容
preg_?filter 等價于preg_replace() 除了它僅僅返回(可能經過轉化)與目標匹配的結果
preg_replace_callback - 執行一個正則表達式搜索并且使用一個回調進行替換
preg_replace_callback_array - 執行一個正則表達式搜索并且使用一個回調進行替換
preg_split - 通過一個正則表達式分隔字符串
preg_last_error - 返回最后一個PCRE正則執行產生的錯誤代碼
preg_?grep 返回給定數組input中與模式pattern匹配的元素組成的數組
strpos - 僅檢查某個字符串是否包含另外一個字符串

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28454.html

相關文章

  • 正則達式

    摘要:本文內容共正則表達式火拼系列正則表達式回溯法原理學習正則表達式,是需要懂點兒匹配原理的。正則表達式迷你書問世了讓幫你生成和解析參數字符串最全正則表達式總結驗證號手機號中文郵編身份證地址等是正則表達式的縮寫,作用是對字符串執行模式匹配。 JS 的正則表達式 正則表達式 一種幾乎可以在所有的程序設計語言里和所有的計算機平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...

    bang590 評論0 收藏0
  • JS中的正則達式

    摘要:構造函數可以有兩個字符串參數,第一個參數包含正則表達式的主體部分。只讀的布爾值,說明這個正則表達式是否帶有修飾符。中正則的擴展構造函數在中,只能接受字符串作為參數,允許其直接接受正則表達式作為參數。 上文傳送門:初探正則表達式 正則表達式是一個描述字符模式的對象,JavaScript 的 RegExp 類表示正則表達式,String 和 RegExp 都定義了方法,后者使用正則表達式進...

    Soarkey 評論0 收藏0
  • JavaScript正則達式總結

    摘要:正則表達式一直是里比較難以掌握的點。在中創建正則的兩種方式使用字面量這就是正則表達式的字面量語法,表示正則表達式的模式,為正則表達式的標志。字面量形式的正則表達式一般使用較多,也推薦大家盡可能使用這種形式,簡潔易讀,符合正常的使用習慣。 正則表達式一直是js里比較難以掌握的點。 看不懂,學不會,記不住。 每次需要用到正則的時候,都需要再去查找資料。 今天花時間把正則的知識點總結下,希望...

    big_cat 評論0 收藏0
  • 正則與JS中的正則

    摘要:注意本文將正則與中的正則分開討論。正則零寬斷言更多參考各種語言對于正則不同支持參考單行模式與多行模式通過設置正則表達式后的修飾符可開啟對應的匹配模式單行模式和多行模式。 最近這段時間幫同學處理一些文檔, 涉及到一些結構化文檔的工作大部分都得使用正則表達式, 之前對于正則的認識大多來源于語言書上那幾頁的介紹, 自己也沒有用過幾次。這里將我之前感到模糊的概念作個整理。因為對JS了解多點,所...

    firim 評論0 收藏0
  • JavaScript正則達式的匹配模式

    摘要:選擇分組和引用正則表達式的語法還包括指定選擇項子表達式分組和引用前一子表達式的特殊字符。帶圓括號的表達式的另一個用途是允許在同一正則表達式的后部引用前面的子表達式。 正則表達式(regular expression)是一個描述字符模式的對象。JavaScript的 RegExp類 表示正則表達式,String和RegExp都定義了方法,后者使用正則表達式進 行強大的模式匹配和文本檢索與...

    wqj97 評論0 收藏0
  • 正則達式

    摘要:最全正則表達式總結驗證號手機號中文郵編身份證地址等是正則表達式的縮寫,作用是對字符串執行模式匹配。學習目標了解正則表達式語法在中使用正則表達式在中使 JS高級技巧 本篇是看的《JS高級程序設計》第23章《高級技巧》做的讀書分享。本篇按照書里的思路根據自己的理解和經驗,進行擴展延伸,同時指出書里的一些問題。將會討論安全的類型檢測、惰性載入函數、凍結對象、定時器等話題。1. 安全的類型檢測...

    yibinnn 評論0 收藏0

發表評論

0條評論

whataa

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<