正規表示式

2021-08-25 02:28:58 字數 1747 閱讀 9900

正規表示式:---主要用於查尋等操作

1、很多之後我們都需要對一些字元進行匹配,查詢,替換等

複雜的操作,我們需要通過一些表示式進行這些複雜的操作。

2、這個表示式就是正規表示式,他是一串有」特殊意義「的字串

我們可以稱之為規則表示式

常用的字符集:

:表示匹配括號內的乙個字元

[abc]表示匹配abc中的任意乙個字元

[a-z]表示匹配a~z中的任意乙個字元

[0-9]表示匹配0~9中的任意乙個字元

[a-z0-9a-z]表示匹配這些字元中的任意乙個

:表示匹配除了a字元的任意乙個字元

字符集的匹配一般使用的是match()方法,返回值布林型別

預定義字符集:

.     :表示匹配任意乙個字元

\d    :表示匹配任意乙個數字字元,相當於[0-9]

\w    :表示匹配任意乙個單詞字元,相當於[a-za-z0-9_]

\s    :表示匹配任意乙個空格字元,相當於[\t\r\n\b ]

\d    :表示匹配任意乙個非數字字元,相當於[^0-9]

\w    :表示匹配任意乙個非單詞字元,相當於[^a-za-z0-9_]

\s    :表示匹配任意乙個非空格字元,相當於[^\t\r\n\b ]

一些特殊字元需要使用轉義字元:「\」

數量詞:

x     :表示字符集

x?    :匹配x 0個或1個

x+    :匹配x 乙個或乙個以上

x*    :匹配x 0個或0個以上

x  :匹配x m個

x :匹配x m個以上,包括m個

x:匹配x m到n個

分組:()將正規表示式的部分規則進行了劃分,可以使用|來進行選擇其中一組規則

reg:是手機號前帶有區號

+86 13844220539

0086 13844220539

正規表示式:

(+86|0086)?\\s?1\\d

判斷乙個字串是不是乙個**

^和$(無法驗證)

有時,我們想校驗乙個字串是不是從頭到尾都符合乙個規則校驗

此時需要在正規表示式前後新增相應的符號:

^:新增在正規表示式前,表示要校驗的普通字串的開頭就必須符合規則

$:新增在正規表示式末尾,表示要校驗的普通字串的末尾必須符合規則

前後都有此符號時,考慮的是普通字串的整體

reg:

"^.[6,8]"

"123456aaaaaaaaaa"可以滿足上述正規表示式

"[\\d]$"

"abc123456"可以滿足上述正規表示式

"^[\\d]$"

"12345678abc12345678"不符合

matches(string regex):此方法驗證不了我們自定義時新增的^或$

因為當把正規表示式傳入方法內時,內部邏輯幫助新增了^和$

總結:正規表示式是乙個靈活,邏輯性強的規則校驗語法

通常用於文字中,定義正規表示式的時候,要注意表示式在匹配

時是從左到右匹配的,所以定義正規表示式時,要處理好順序,其次

正規表示式邏輯比較強,需要考慮多種情況測處理

正規表示式 正規表示式 總結

非負整數 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正規表示式 編寫正規表示式

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