正則語法
^(開始字符限定)
^Hh:表示以”Hh”開始的字符串,如”Hhxxx”、”Hh xxx”
$(結束字符限定)
sm:表示以”sm”結束的字符串,如”Hhhsm”
.(表示任何字符)
.:表示任何字符字符
|(或關係)
“hi|ha”:表示一個字符串有”hi”或”ha”,如”xxhixx”、”xxhaxx”
“*”(尾部字符重複)
ab*:表示字符串有一個”a”,後面跟着零個或多個“b”,如”a”、”abbb…”
+(尾部字符重複)
ab+:表示字符串有一個”a”,後面跟着一個或多個“b”,如”ab”、”abbb…”
?(尾部字符重複)
ab?:表示字符串有一個”a”,後面跟着零個或一個“b”,如”a”、”ab”
{}(限定長度)
ab{2}:表示字符串有一個”a”,後面跟着兩個**”b”,如”abb”
ab{2,}:表示字符串有一個”a”,後面跟着至少兩個**”b”,如”abb”,”abbb…”
ab{2,5}:表示字符串有一個”a”,後面跟着兩到五個**”b”,如 “abb”,”abbbbb”
注意必須設置下限,如{0,2},而不是{,2}。
- “*” == “{0,}”
- “+” == “{1,}”
- “?” == “{0,1}”
[](限定內容)
允許內容
“[abcd]”:表示字符串包含”a”、”d”、”c”、”d”任意一個。等於”a|b|c|d”
“[a-d]”:相當於”[abcd]”
“^[a-zA-Z]”:表示已字母開頭的字符串。如”a12e”
“a.[0-9]”:表示字符串有一個”a”後面跟着一個任意字符和一個數字;如”a2”
禁止內容
“%[^a-zA-Z+]%”:表示兩個百分號之間不應該出現字母,如”%12%”
() 優先規則
“a(h|f)b”:表示一個字符串有”ahf”或”afb”,如”xxahfxx”、”xxafbxx”
“a(hljlf)*b”:表示字符串有一個”a”,後面接上一串”h”、”j”、”f”混合字符後面,後面接上跟上”c”,如:”asdahjffhjjhffhjjhfbsadas”
特殊匹配
\d
\d:用於匹配從0到9的數字
\w
\w:用於匹配字母,數字或下劃線字符
“/^” 和 “$/” 成對使用
/^[0-9]{1,20}$/:表示是否是全由數字組成的長度爲1到20的字符串
轉義字符
“^.$()|*+?{\”:只當字符表示是需要在前面加上轉義字符”\”
常用表達式
- “^\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-Za-z0-9]+$” –> 由數字和26個英文字母組成的字符串
- “^\w+$” –> 由數字、26個英文字母或者下劃線組成的字符串
- “^[\w-]+(.[\w-]+)@[\w-]+(.[\w-]+)+$” –> *email地址
- “^[a-zA-z]+://(\w+(-\w+))(.(\w+(-\w+)))(\?\S)?$” –> URL
- “/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-((0-2)|(3[0|1]))$/” –> 年-月-日
- “/^((0([1-9]{1}))|(1[1|2]))/((0-2)|(3[0|1]))/(d{2}|d{4})$/” –> 月/日/年
- “^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$” –> Emil
- “(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?” –> 電話號碼
- “^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$” –> IP地址
- “^([0-9A-F]{2})(-[0-9A-F]{2}){5}$” –> MAC地址的正則表達式
- “^[-+]?\d+(.\d+)?$” –> 值類型正則表達式