常用正則表達式總結

1. 特殊要求正則

  • ip地址
\(\(\d\{1,2}\|1\d\{2}\|2[0-4]\d\|25[0-5]\)\.\)\{3}\(\d\{1,2}\|1\d\{2}\|2[0-4]\d\|25[0-5]\)
  • 日期格式
^\d{4}-\d{1,2}-\d{1,2}
  • 中文Chinese
[\u4e00-\u9fa5]+
  • 俄文Russian
[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийкдмнопрстуфхцчшщъыьэюя]+
  • 韓文Korean
([\uac00-\ud7af]|[\u1100-\u11ff]|[\u3130-\u318f]|[\u3100-\u312f])+
  • 日文Japanese
([\u3040-\u309f]|[\u30a0-\u30ff]|[\u310f-\u31ff])+
  • QQ號
[1-9][0-9]{4,}
  • 中國郵政編碼
[1-9]\d{5}(?!\d)
  • xml文件
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
  • Email地址
^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
  • 手機號碼
^(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{8}$
  • URL鏈接/網址
(http|ftp|https)://([\w-]+\.)+[\w-]+(/[\w\- ./?%&=]*)?$
  • 單位符號1
(s|M|A|K|k|Hz|N|Pa|J|W|V|F|S|t|Ω|inch|cm|m|in|kg|GB|MB|B|mm|g|byte|t|oz|mhz|dpi|°|\"|\')
  • 單位符號2
(Hz|inch|cm|m|in|kg|mm|g|byte|dpi|B|GB|MB|oz|°|\"|\')
  • 斷句,分隔符
(:|,|.|;|!|?|=|+|,|。|;|?|:)
  • punctuation
(,|\.|:|;|!|~|`|@|#|\$|%|^|&|\*|\(|\)|\-|_|\+|=|\\|\{|\}|\[|\]|<|>|\?|/|\||Ω|●|°|\'|\"|®|©|™|×|÷|,|。|;|?|:|±|²|³|«|¤|¯|»|›|⊥|≤|≥|≠|≡|≈|∝|∼|∴|∠|∨|∞|∀|∈|∉|∋|∅|※)
  • HTML_TAG
a|abbr|acronym|address|applet|area|b|base|bdo|big|blockquote|body|br|button|caption|center|cite|code|col|colgroup|dd|del|dfn|dir|div|dl|dt|em|fieldset|font|form|frame\
|frameset|h1|h2|h3|head|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|menu|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|s|samp|script|select|small|span\
|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var
  • HTML表達式
"<(" + HTML_TAG + ")(.*?)>([\s\S]+)<(.*?)/(" + HTML_TAG + ")>|<(" + HTML_TAG + ") (.*?)>"
  • hash哈希值
^[a-fA-F0-9]{15,}$
  • 域名
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
  • 固定電話號碼
^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
  • 雙字節字符(包括漢字在內,可以用來計算字符串的長度)
[^\x00-\xff]
  • 空白行
\\t|\\n|\\r
  • 大寫符號(utf-8)
([\uff00-\uffef]|[\u3000-\u303f]|[\u3300-\u33ff])+
  • 26個英文字母
^[A-Za-z]+$

數字相關正則

  • 純數字
^[0-9]*$
  • m-n位的數字
^\d{m,n}$
  • 正數、負數、和小數
^(\-|\+)?\d+(\.\d+)?$
  • 有兩位小數的正實數
^[0-9]+(.[0-9]{2})?$
  • 有1~3位小數的正實數
^[0-9]+(.[0-9]{1,3})?$
  • 非零的正整數
^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
  • 非零的負整數
^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
  • 非負整數
^\d+$ 或 ^[1-9]\d*|0$
  • 非正整數
^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
  • 非負浮點數
^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
  • 非正浮點數
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
  • 正浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
  • 負浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\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+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章