1-概念:
正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。
2-簡介
正規表示式是對字串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。正規表示式是一種文字模式,該模式描述在搜尋文字時要匹配的乙個或多個字串。
3-目的
給定乙個正規表示式和另乙個字串,我們可以達到如下的目的:
給定的字串是否符合正規表示式的過濾邏輯(稱作「匹配」):
可以通過正規表示式,從字串中獲取我們想要的特定部分。
4-特點
正規表示式的特點是:
靈活性、邏輯性和功能性非常強;
可以迅速地用極簡單的方式達到字串的複雜控制。
對於剛接觸的人來說,比較難懂。
由於正規表示式主要應用物件是文字,因此它在各種文字編輯器場合都有應用,小到著名編輯器editplus,大到microsoft word、visual studio等大型編輯器,都可以使用正規表示式來處理文字內容。
5-寫法
正規表示式由一些普通字元和一些元字元組成。例:
我們在visual studio輸入後可以到瀏覽器的控制台測試是否正確
我們允許
這一條為true,所以建議在visual studio這樣寫:
[+]?的意思是:[+][0,1] 代表「+」可有可無。
除錯結果:
6-符號
為什麼說正規表示式對於初學者來說晦澀難懂,其難就在於它的符號,要想真正的用好正規表示式,正確地理解並記住元字元是最重要的事情。
7-速記理解技巧
「.」「」「^」「$」這四個字元是所有語言都支援的正規表示式,所以這四個字元是基礎的正規表示式。正則難理解因為裡面有乙個等價的概念,這個概念大大增加了理解難度,讓很多初學者看起來會懵,如果把等價都恢復成原始寫法,自己書寫正則就超級簡單了,就像說話一樣去寫你的正則了:
等價:等價是等同於的意思,表示同樣的功能,用不同符號來書寫。
?,*,+,\d,\w 都是等價字元
?等價於匹配長度
*等價於匹配長度
+等價於匹配長度
\d等價於[0-9]
\d等價於[^0-9]
\w等價於[a-za-z_0-9]
\w等價於[^a-za-z_0-9]。
常用運算子與表示式:
^ 開始
() 域段
包含,預設是乙個字元長度
[^] 不包含,預設是乙個字元長度
匹配長度
. 任何單個字元(. 字元點)
| 或\ 轉義
$ 結尾
[a-z] 26個大寫字母
[a-z] 26個小寫字母
[0-9] 0至9數字
[a-za-z0-9] 26個大寫字母、26個小寫字母和0至9數字
, 分割
分割語法:
[a,h,t,w] 包含a或h或t或w字母
[a,h,t,w] 包含a或h或t或w字母
[0,3,6,8] 包含0或3或6或8數字
tip:正規表示式可用「regexbuddy」軟體測試。
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...