(1)限定符1,?:其前面的字符需要出现0次或1次。例如:用过?可以匹配use和used2,*:会匹配0个或多个字符。例如:ab*c可以匹配ac,abc,abbbbbc3,+:会匹配一个或多个字符例如:ab+c可以匹配abc,abbbc,但不能匹配ac4,{}:可以限制匹配个数For例子:ab{6}c,则匹配abbbbbbc,但是为了限制b的个数在2到6之间,就是ab{2,6}c,如果只有两次或更多,省略括号中的6和写成ab{2,}c(二)“或”运算符例如:a(cat|dog)匹配一只猫和一只狗(三)字符类[]:表示里面的内容只能取来自他们例如:[a-z]表示所有小写英文字母,[abc]可以匹配abc,aabbcc,abcc,[a-zA-Z]表示所有英文字母,如果在[]前加^,则表示除[](四个)元字符\d:数字字符,相当于[0-9]\w:单词字符\s:空白字符,包括制表符和换行符\D:非数字字符\W:非单词字符\S:non-blankcharacters.:表示任意字符,不包含换行符^:匹配开头该行例如:^a匹配abv,acccn$:匹配行尾例如:a$匹配tea,cba(5)贪心和惰性匹配贪心匹配:正则表达式通常的行为是尽可能匹配可能更多的字符,比如这个表达式:a.*b,它会匹配最长的以a开头,以b结尾的字符串,如果你用它来搜索aabab,它会匹配整个字符串aabab惰性匹配:就是到匹配尽可能少的字符,在整个匹配成功的前提下,使用最少的重复。只是加个问号?在它之后,比如a.*?b匹配最短的,以a开头,以b结尾的字符串,如果应用于aabab,会匹配aab和ab,为什么第一个匹配的是aab(1stto第3个字符)而不是ab(第2到第3个字符)?简单的说,因为正则表达式有一个优先级高于惰性/贪心规则的规则,即:第一个匹配的优先级最高(6)常用的正则表达式。]*$N位:^\d{n}$至少有n位的数字:^\d{n,}$m-n位:^\d{m,n}$以零和非零开头的数字:^(0|[1-9][0-9]*)$以非零开头的最多两位小数的数字:^([1-9][0-9]*)+(。[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数和小数:^(\-|\+)?\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)$汉字:^[\u4e00-\u9fa5]{0,}$英文和数字:^[A-Za-z0-9]+$或^[A-Za-z0-9]{4,40}$All长度为3-20的字符:^.{3,20}$由26个英文字母组成的字符串:^[A-Za-z]+$由26个字符组成的一串大写英文字母:^[A-Z]+$由26个小写英文字母组成的字符串:^[a-z]+$由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$由数字、26个英文字母或下划线组成的字符串:^\w+$或^\w{3,20}$中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$或^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$电子邮件地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?互联网网址:[a-zA-z]+://[^\s]*或^http://([\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}$电话号码("XXX-XXXXXXX"、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXXX”、“XXXXXXXX”和“XXXXXXXX”:^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}身份证号码(15位数字),18位数字):^\d{15}|\d{18}$短身份证号码(数字,以x结尾的字母):^([0-9]){7,18}(x|X)?$或^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$账号是否合法(以字母开头,允许5-16字节,并允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$Password(以字母开头,长度在6到18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$强密码(必须包含以下组合大小写字母和数字,不能使用特殊字符,长度在8-10之间:^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])。{8,10}$日期格式:^\d{4}-\d{1,2}-\d{1,2}一年中的一个12个月(01~09和1~12):^(0?[1-9]|1[0-2])$一个月的第31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$汉字正则表达式:[\u4e00-\u9fa5]双字节字符:[^\x00-\xff](包括汉字,可用于计算字符串长度(adoubleBytecharacterlengthcounts2,ASCIIcharacterscount1))空行正则表达式:\n\s*\r(可用于删除空行)首尾空字符正则表达式:^\s*|\s*$或(^\s*)|(\s*$)(可用于删除行首和行尾的空白字符(包括空格、制表符、换页符等),非常有用表达式)腾讯QQ号:[1-9][0-9]{4,}(腾讯QQ号从10000开始)中文邮编:[1-9]\d{5}(?!\d)(中文邮政编码为6位)IP地址:\d+\.\d+\.\d+\.\d+(提取IP地址时有用)IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))IP-v4地址:\\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地址时有用)子网掩码:((?:(?: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”格式进行日期验证,偶数闰年。)提取注释:
