前言
正则表达式,新手见它的感觉就是“这都什么玩意,乱七八糟的,完全不知所云”,但学会它就会体验那种一行代码抵数十上百行,效率飞起的感觉,简直不要太爽。今天小肆先把我自己收藏的一些正则表达式写法分享给大家,当然想深入学习如何写正则表达式,可以去w3c看看教程。
^[0-9]*$ ^\d{n}$ ^\d{n,}$ ^\d{m,n}$ ^(0|[1-9][0-9]*)$ ^([1-9][0-9]*)+(.[0-9]{1,2})?$ ^(\-)?\d+(\.\d{1,2})?$ ^(\-|\+)?\d+(\.\d+)?$ ^[0-9]+(.[0-9]{2})?$ ^[0-9]+(.[0-9]{1,3})?$ ^[1-9]\d*$ ^\-[1-9][]0-9"*$ ^\d+$ ^-[1-9]\d*|0$ ^\d+(\.\d+)?$ ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ ^[1-9]d .d |0.d [1-9]d $ ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ ^(-?\d+)(\.\d+)?$ ^[\u4e00-\u9fa5]{0,}$ ^[A-Za-z0-9]+$ ^.{3,20}$ ^[A-Za-z]+$ ^[A-Z]+$ ^[a-z]+$ ^[A-Za-z0-9]+$ ^\w+$ ^[\u4E00-\u9FA5A-Za-z0-9_]+$ ^[\u4E00-\u9FA5A-Za-z0-9]+$ ^%&',;=?$\" 等字符: [^%&',;=?$\x22]+ [^~\x22]+ ^\w+([-+.]\w+)*@\w+([-.]\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{8}$ (国内 13、15、18开头的手机号正则表达式,可根据目前国内收集号扩展前两位开头号码) ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ \d{3}-\d{8}|\d{4}-\d{7} ^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$ ^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$ ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ ^[a-zA-Z]\w{5,17}$ ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$ ^\d{4}-\d{1,2}-\d{1,2} ^(0?[1-9]|1[0-2])$ ^((0?[1-9])|((1|2)[0-9])|30|31)$ ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ [\u4e00-\u9fa5] [^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) \n\s*\r (可以用来删除空白行) ^\s*|\s*$ 或 (^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式) [1-9][0-9]{4,11} (腾讯QQ号从10000开始) [1-9]\d{5}(?!\d) (中国邮政编码为6位数字) \\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b (提取IP地址时有用) (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$ (“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。) <!--(.*?)--> ^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1} (<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)> \\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*) ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ ^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$ ^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$ 附送大家一个网上找到的语法图