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