正規表示式

2021-10-09 06:48:52 字數 2339 閱讀 4428

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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...