常用正则表达式整理
1、匹配Email1.\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}2.[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
2、IPv4 匹配1.\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3}2.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2缪梨痤刻[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)3.((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
3、匹配中文汉字,两个unicode值正好是Unicode表中的汉字的头和尾。1.单个汉字[\u4e00-\u9fa5]2.多个汉字[\u4e00-\u9fa5]+
4、匹配双字节字符,包括汉字1.单个[^\x00-\xff]2.多个[^\x00-\xff]+
5、匹配网址1.[a-zA-z]+://[^\s]*2.^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+3.(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?
6、匹配身份证1. 18位身份证号(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)2.15位 或 18 位身份证号\d{17}[0-9Xx]|\d{15}
7、匹配手机号(13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8}
8、日期匹配,格式为 年-月-日1.简单匹配,匹洧粽袄淖配格式为yyyy-mm-dd 或yyyy/mm/dd或yyyy.mm.dd\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}这个表达式飧肇苡卫只是简单匹配 4位数字-2位数字-2位数字 这种格式。未做较多验证。2.严格匹配,匹配格式为yyyy-mm-dd,但这个表达式还有个问题,其闰年并未严格匹配。([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))其中第一段 [0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3} 分解了就是[0-9]{3}[1-9] 这个代表前3位是0-9,第4位是1-9[0-9]{2}[1-9][0-9]{1} 这个代表前2位是0-9,第3位是1-9,第4位是0-9[0-9]{1}[1-9][0-9]{2} 这个代表第一位是0-9,第二位是1-9,第3-4为是0-9[1-9][0-9]{3} 这个代表第一位是1-9,后3位是0-9匹配代表年份 0001 到 9999 4位数字第二段(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11) 分解为:(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])表示 月份 01,03,05,07,08,10,12,日期 01-09,10-19,20-29,30-31或者(0[469]|11)-(0[1-9]|[12][0-9]|30)表示 月份 04,06,09,11 日期 01-09,10-19,20-29,30或者02-(0[1-9]|[1][0-9]|2[0-8])表示月份 02, 日期 01-09,10-19,20-283. 严格匹配,匹配格式为yyyy-mm-dd,包括匹配闰年。(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)
9、时间匹配([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d
10、匹配 HTML 标签1. html 标签<(.*)(.*)>.*<铳曹扑钜\/\1>|<(.*) \/>或<([a-z]+)([^<]+)*(?:媪青怍牙>(.*)<\/\1>|\s+\/>2. 匹配 script 标签<script(.*?)</script>3. 匹配 iframe标签<iframe(.*?)</iframe>
11、数据匹配1.匹配正整数^[1-9]\d*$2.匹配负数^-[1-9]\d*$3.匹配整数^-?[1-9]\d*$4.匹配正整数 和 0^[1-9]\d*|0$5.匹配负整数 和 0^-[1-9]\d*|0$6.匹配正浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$7.匹配负浮点数^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$
12、匹配电驴链接ed2k://\|file\|([^\|]+?)\|(\d+?)\|([0-9a-zA-Z]{32})\|((?:/\|sources,([^\s\|]+?)\||h=([0-9a-zA-Z]{32})\||s=([^\s\|]+?)\||p=([^\s\|]+?)\|)*)/