Regex在網路編程中的運用(1)

來源:互聯網
上載者:User
編程|網路|正則   [前言:]在我們編寫WEB程式時,經常會判斷一個字串的有效性,如;一個串是否是數字、是否是有效Email地址等等。如果不使用Regex,那麼判斷的程式會很長,並且容易出錯,如果使用Regex,這些判斷就是一件很輕鬆的工作了。本文全面介紹Regex的慨念、格式。並以在PHP、ASP中的應用執行個體增加讀者的感性認識。Regex的應用很廣,需要大家在學習和實踐中不斷的總結。
  Regex簡介

  簡單的說,Regex是一種可以用於模式比對和替換的強有力的工具。在網路編程中應用廣泛,如PHP指令碼語言或是JavaScript、VBScript這樣的用戶端指令碼語言都提供了對Regex的支援。由此可見,Regex已經超出了某種語言或某個系統的局限,成為人們廣為接受的概念和功能。

  Regex可以讓使用者通過使用一系列的特殊字元構建匹配模式,然後把匹配模式與資料檔案、程式輸入以及WEB頁面的表單輸入等目標對象進行比較,根據比較對象中是否包含匹配模式,執行相應的程式。

  舉例來說,Regex的一個最為普遍的應用就是用於驗證使用者線上輸入的郵件地址的格式是否正確,如果通過Regex驗證使用者郵件地址的格式正確,使用者所填寫的表單資訊將會被正常處理;反之,如果使用者輸入的郵件地址與正則表達的模式不匹配,將會彈出提示資訊,要求使用者重新輸入正確的郵件地址。由此可見Regex在WEB應用的邏輯判斷中具有舉足輕重的作用。在後面我們會舉例詳細介紹。

  Regex形式一般如:/love/,其中位於"/"定界符之間的部分就是將要在目標對象中進行匹配的模式。使用者只要把希望尋找匹配對象的模式內容放入"/"定界符之間即可。為了能夠使使用者更加靈活的定製模式內容,Regex提供了專門的"元字元"。所謂元字元就是指那些在Regex中具有特殊意義的專用字元,可以用來規定其前置字元(即位於元字元前面的字元)在目標對象中的出現模式。較為常用的元字元包括: "+,"*,?以及{}",或者"\s,\S,\d,\w和\W"等等。為了能夠方便使用者更加靈活的設定匹配模式,Regex允許使用者在匹配模式中利用[]界定匹配於某一個範圍的字元而不局限於具體的字元。

  除了我們以上的元字元之外,Regex中還具有另外一種較為獨特的專用字元,即定位器。定位器用於規定匹配模式在目標對象中的出現位置。較為常用的定位器包括: "^", "$", "\b" 以及 "\B"。

  如果我們希望在Regex中實作類別似編程邏輯中的"或"運算,在多個不同的模式中任選一個進行匹配的話,可以使用管道符 "|"。例如:

  Regex中還有一個較為常用的運算子,即否定符 "[^]"。與我們前文所提到的定位器 "^" 不同,否定符 "[^]"規定目標對象中不能存在模式中所規定的字串。一般來說,當"^"出現在 "[]"內時就被視做否定運算子;而當"^"位於"[]"之外,或沒有"[]"時,則應當被視做定位器。

  最後,當使用者需要在Regex的模式中加入元字元,並尋找其匹配對象時,可以使用轉義符"\"。例如:/Th\*/,該Regex將會與目標對象中的"Th*"而非"The"等相匹配。 



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。