1.什麼是正規表示式?
是乙個用來對字串進行處理的乙個特殊的字串
可以簡化字串的處理
2.正規表示式的組成
a.字元 必須
b.數量 可選
c.分組 可選
3.正規表示式的字元
任何乙個字元都可以是正規表示式的字元
[abc] 表示乙個字元,a或者b或者c
(b|d|rt) 表示一組字元 b或者的或者rt
[a-z] 表示任意乙個小寫字母
[a-z] 表示任意乙個大寫字母
[0-9] 表示任意乙個數字
[1-5] 表示1~5這5個數字中的某乙個
[a-za-z0-9] 表示所有的字母和數字中的某乙個
[a-m&&[h-z]] 等價於[h-m]
[^bcd] 除開bcd以外的所有字元中的乙個 ,等價[ae-z]
[a-za-z_0-9] 所有的單詞字元
3.預定義的字元
. 乙個任意字元
\d 數字,等價於[0-9]
\d 非數字等價於[^0-9]
\w 所有的單詞字元,等價於[a-za-z_0-9]
\w 非單詞字元
\s 空白字元 空格 \t \r \n
\s 非空白字元
4.字元的數量詞用來表示字元要出現的次數
表示最少5次,最多10次
表示最少5次,無上限
表示必須5次
? 表示0次或一次
* 表示0次或多次
+ 表示1次或多次
+案例
x[abc]y
x[abc]?y 可以匹配 xay xby xcy xy
x[abc]+y 不能匹配 xy
可以匹配 xabcabcy
x[abc]*y 可以匹配 xy
可以匹配 xabcabcy
案例:
寫乙個用來驗證郵箱是否合法的正規表示式
***@***.***
\w+@\w+.\w+
***@***.***.xx
\w+@\w+(\.\w+)
5.懶惰性數量詞和貪婪性數量詞? 5個到10個,但盡可能少
?? 0個或者1個,但盡可能少
*? 0個或者多個,但盡可能少
+? 1個或者多個,但盡可能少
+ 5個到10個,但盡可能多
?+ 0個或者1個,但盡可能多
*+ 0個或者多個,但盡可能多
++ 1個或者多個,但盡可能多
案例:判斷手機號是否合法
public
class
newer0810
// 判斷手機號
public
static
void
checkmtel
(string s)")
?s+"是手機號!"
:s+"不是手機號!");
}}
執行:
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...