正則表達式

正則語法

^(開始字符限定)

^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+)?$” –> 值類型正則表達式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章