一、正規表示式基礎
正規表示式在程式設計中有著重要的位置,經常用於處理字串資訊。主要用於:
(一)資料驗證(regex.ismatch)
可以測試輸入字串,以檢視字串內是否出現**號碼模式或信用卡號碼模式。
(二)替換文字(regex.replace)
可以使用正規表示式來識別文件中的特定文字,完全刪除該文字或者用其他文字替換它。
(三)從字串中提取子字串(regex.spli t)
可以查詢文件內或輸入域內特定的文字。
下面主要說明正規表示式的語法:
正規表示式一般由普通字元(例如a-z的字母,0-9的數字)、元字元、限定符組成。元字元只能匹配乙個字元,限定符可以匹配自身重複出現的次數。下表列出常用的元字元和限定符
元字元用於匹配行首,表示匹配開始。例如:^[0-9]$
用於匹配行尾,表示匹配結束。例如:^[0-9]$
\w用於匹配單詞字元,包括漢子、字母、數字和下劃線
\w用於匹配任意的非單詞字元
\s用於匹配任意的空白字元,包括換行符、空格、製表符
\s用於匹配任意的非空白字元
\d用於匹配任意的數字,包括0、1、2、3、4、5、6、7、8、9
\d用於匹配任意的非數字字元
用於匹配除換行符以外的任意字元。例如^…$匹配abc、123、_1a
限定符用於限定指定的字元出現0或1次。^abc?$可以匹配abc或ab
用於限定指定的字元至少出現0次。^ab$可以匹配a、ab、abb等
用於限定指定的字元至少出現1次。^ab$可以匹配ab、abb、abbb
用於限定指定的字元出現n次。^c$匹配ccccc
用於限定指定的字元至少出現n次.^c匹配ccccc、cccccc
用於限定指定的字元至少出現n次,至多出現m次。
注:」\.」用於匹配普通字元」.」,若直接用」.」則表示元字元。
二、正規表示式的驗證用法(主要用到regex.ismatch(str1,正規表示式))
數字驗證:
a.驗證數字密碼的長度—「^\d$」
分析:」^」—匹配開始,」\d」—匹配至少6位、至多18位任意數字,」$」—匹配結束。
b.驗證**號碼—「^(\d-)?\d$」
分析:」^」—匹配開始,」\d」—匹配3位或4位任意數字(**區號),」?」—表示」(\d-)」出現0或1次(**區號可有可無),」\d」—匹配至少6位、至多8位任意數字(本地號碼),」$」—匹配結束。
字母驗證:
a.驗證大寫字母—「^[a-z]+$」
分析:」^」—匹配開始,」[a-z]」—匹配26個大寫字母,」+」—表示」[a-z]」至少出現一次,」$」—匹配結束。
b.驗證漢字—「^[\u4e00-\u9fa5]$」
網路驗證:
a.驗證e-mail格式—
"^([\w-\.]+)@((\[[0-9]\.[0-9]\.[0-9]\.)|(([\w-]+\.)+))([a-za-z]|[0-9])(\]?)$"
b.驗證ip位址—"(25[0-5]|2[0-4]\\d|[0-1]\\d|[1-9]?\\d)"
c.驗證url—"http(s)?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?"
正規表示式示例
表示式匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s s s s s 1 s 匹配 html 標記。下表包含了元字元的完整列表以及它們在正規表示式上下文中的行為 字元說明 將下一字元標記為特殊字元 文字 反向引用或八進位制轉義符。例如,n 匹配字元 n...
正規表示式示例
匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s s s s s 1 s 匹配 html 標記。下表包含了元字元的完整列表以及它們在正規表示式上下文中的行為 說明 將下一字元標記為特殊字元 文字 反向引用或八進位制轉義符。例如,n 匹配字元 n n 匹配...
正規表示式 示例
正規表示式的最簡單形式是在搜尋字串中匹配其本身的單個普通字元。例如,單字元模式,如 a,不論出現在搜尋字串中的何處,它總是匹配字母 a。下面是一些單字元正規表示式模式的示例 a 7 m 可以將許多單字元組合起來以形成大的表示式。例如,以下正規表示式組合了單字元表示式 a 7 和 m。a7m 請注意,...