只能輸入數 字:"^[0-9]*$"。
只能輸入n位的數字:"^\d$"。
只能輸入至少n位的數字:"^\d$"。
只能輸入m~n位的數字:。"^\d$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9])?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9])?$"。
只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^\-[1-9]0-9"*$。
只能輸入長度為3的字元:"^.$"。
只能輸入由26個英文本母組成的字串:"^[a-za-z]+$"。
只能輸入由26個大寫英文本母組成的字串:"^[a-z]+$"。
只能輸入由26個小寫英文本母組成的字串:"^[a-z]+$"。
只能輸入由數字和26個英文本母組成的字串:"^[a-za-z0-9]+$"。
只能輸入由數字、26個英文本母或者下劃線組成的字串:"^\w+$"。
驗證使用者密碼:"^[a-za-z]\w$"正確格式為:以字母開頭,長度在6~18之間,只能包含字元、數字和下劃線。
驗證是否含有^%&',;=?$\"等字元:"[^%&',;=?$\x22]+"。
只能輸入漢字:"^[\一-\龥]$"
驗證interneturl:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證**號碼:"^(\(\d-)|\d-)?\d$"正確格式為:"***-******x"、"***x- ******xx"、"***-******x"、"***-******xx"、"******x"和"******xx"。
驗證身份證號(15位或18位數字):"^\d|\d$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證乙個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
1,正規表示式的用途:正規表示式是用來判斷「字 符串」是否符合某個「樣式」時,這個「樣式」的表達方式。
2,正規表示式的寫法:
1)可以使用「//」括住正規表示式的樣式,當在程式中使用正規表示式時,這是最快速容易的方式。
2)可以用類方法建立物件「regxep.new(str)」這種寫法。原來已經有了乙個代表樣式的字串時,用這種方式建立正規表示式會比較方 便。
3)「%r」,當正規表示式內部用到「/」字元時,改用「%r」會比較方便。
3,正規表示式的匹配:符號「=~」,寫法:正則 表示式 =~ 字串;不成立時會返回nil,成立時會返回字串中與樣式匹配成功的起始位置。
4,正規表示式的樣式:
1)英文本母與數字:只會單純地去匹配字串裡是否包含相同的文字。
2)轉義字元:
a,「^」表示「與行首匹配成功的樣式」;「$」表示「與行尾匹配成功的樣式」;「\a」表示「與字串頭匹配成功的樣式」;「\z」表示「與字元 串尾匹配成功的樣式」。
b,「」表示「與其中任意乙個字元匹配」;「[-]」表示「匹配的範圍」;「[^]」表示「與這裡所指定之外的字匹配成功」;
c,「.」表示任意乙個字元;「\s」表示與空白,即空白字元(0×20)、定位符號、換行字元、換頁字元匹配成功;「\d」表示「與0-9之間的 數字匹配成功」;「\w」表示「與英文與數字匹配成功」;「\」後面接上「^」、「$」、「[」這些英文、數字以外的轉義字元時,這些字元將不再具備轉義 字元的小用了,而可以去匹配這些字元本身。
d,「*」表示「出現0次以上」;「+」表示「出現1次以上」;「?」表示「出現0次和1次」;「*?」表示「出現0次以上,但取最短的匹配結 果」;「+?」表示「出現1次以上,但取最短的匹配結果」;「()」表示「多個字構成的字串反覆匹配」;「|」表示「可以在樣式裡列舉多個候補條件,只 要其中乙個符合就匹配成功」。
e,quote方法:會返回忽略所有轉移字串後的字串,再以這個字串作為new的實參建立出正規表示式物件。
f,「i」:忽略英文本母大小寫的差異;「s」:字元編碼方式為shift_jis;「e」:字元編碼方式為e _jp;"u":字元編碼方式為 utf-8,"n":匹配時不考慮文字編碼;「x」:忽略正規表示式內部的空白,並忽略「#」後面的內容;「m」:使得「.」能與換行符號匹配成功
附上常用正規表示式:
1,匹配中文字元的正規表示式: [\一-\龥]
2,匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
3,匹配空白行的正規表示式:\n\s*\r
4,匹配html標記的正規表示式:<(\s*?)[^>]*>.*?|<.*? />
5,匹配首尾空白字元的正規表示式:^\s*|\s*$
8,匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$
9,匹配國內**號碼:\d-\d|\d-\d
11,匹配身份證:\d|\d
13,匹配特定數字:
^[1-9]\d*$ //匹配正整數
^-[1-9]\d*$ //匹配負整數
^-?[1-9]\d*$ //匹配整數
^[1-9]\d*|0$ //匹配非負整數(正整數 + 0)
^-[1-9]\d*|0$ //匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點數(負浮點數 + 0)
14,匹配特定字串:
^[a-za-z]+$ //匹配由26個英文本母組成的字串
^[a-z]+$ //匹配由26個英文本母的大寫組成的字串
^[a-z]+$ //匹配由26個英文本母的小寫組成的字串
^[a-za-z0-9]+$ //匹配由數字和26個英文本母組成的字串
^\w+$ //匹配由數字、26個英文本母或者下劃線組成的字串
\d|\d[a-za-z]|\d //身份證號碼驗證(包括新舊的驗證)
^(13[0-9]|15[0|3|6|8|9])\d$ //任意手機號碼驗證
^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$ //email位址
^[a-za-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$ //url
ns*r //匹配空白行的正規表示式
^s*|s*$ //匹配首尾空白字元的正規表示式
^[a-za-z][a-za-z0-9_]$ //匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線)
d+.d+.d+.d+ //匹配ip位址
^d+$ //非負整數(正整數 + 0)
^[0-9]*[1-9][0-9]*$ //正整數
^((-d+)|(0+))$ //非正整數(負整數 + 0)
^-[0-9]*[1-9][0-9]*$ //負整數
^-?d+$ //整數
^d+(.d+)?$ //非負浮點數(正浮點數 + 0)
^(([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+)?))$ //非正浮點數(負浮點數 + 0)
^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //負浮點數
^(-?d+)(.d+)?$ //浮點數
^[a-za-z]+$ //由26個英文本母組成的字串
^[a-z]+$ //由26個英文本母的大寫組成的字串
^[a-z]+$ //由26個英文本母的小寫組成的字串
^[a-za-z0-9]+$ //由數字和26個英文本母組成的字串
^w+$ //由數字、26個英文本母或者下劃線組成的字串
只能輸入數字:^[0-9]*$
只能輸入零和非零開頭的數字:^(0|[1-9][0-9]*)$
只能輸入有兩位小數的正實數:^[0-9]+(.[0-9])?$
只能輸入有1-3位小數的正實數:^[0-9]+(.[0-9])?$
只能輸入非零的正整數:^+?[1-9][0-9]*$
只能輸入非零的負整數:^-[1-9][0-9]*$
只能輸入長度為3的字元:^.$
只能輸入由數字和26個英文本母組成的字串:^[a-za-z0-9]+$
只能輸入由數字、26個英文本母或者下劃線組成的字串:^w+$
以字母開頭,長度在6-18之間,只能包含字元、數字和下劃線:^[a-za-z]w$
驗證是否含有^%&',;=?$等字元:[^%&',;=?$x22]+
只能輸入漢字:^[一-龥],$
驗證interneturl:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...