【经典】常用的正则表达式

时间:2022-12-18 15:55:39
[a-z] //匹配所有的小写字母 
[A-Z] //匹配所有的大写字母 
[a-zA-Z] //匹配所有的字母 
[0-9] //匹配所有的数字 
[0-9\.\-] //匹配所有的数字,句号和减号 
[ \f\r\t\n] //匹配所有的白字符 
例如:^[a-z][0-9]$
1--常常用来剔除某个字符。还用前面的例子,我们要求第一个字符不能是数字:
^[^0-9][0-9]$ 
2--[^a-z] //除了小写字母以外的所有字符 
[^\\\/\^] //除了(\)(/)(^)之外的所有字符 
[^\"\'] //除了双引号(")和单引号(')之外的所有字符 
3--^[a-zA-Z_]$ 所有的字母和下划线 
^[[:alpha:]]{3}$ 所有的3个字母的单词 
^a$ 字母a 
^a{4}$ aaaa 
^a{2,4}$ aa,aaa或aaaa 
^a{1,3}$ a,aa或aaa 
^a{2,}$ 包含多于两个a的字符串 
^a{2,} 如:aardvark和aaab,但apple不行 
a{2,} 如:baad和aaa,但Nantucket不行 
\t{2} 两个制表符 
.{2} 所有的两个字符 
4--^[a-zA-Z0-9_]{1,}$ //所有包含一个以上的字母、数字或下划线的字符串 
^[0-9]{1,}$ //所有的正数 
^\-{0,1}[0-9]{1,}$ //所有的整数 
^\-{0,1}[0-9]{0,}\.{0,1}[0-9]{0,}$ //所有的小数 
5--特殊字符"?"与{0,1}是相等的,它们都代表着:“0个或1个前面的内容”或“前面的内容是可选的”。所以刚才的例子可以简化为:
6--特殊字符"*"与{0,}是相等的,它们都代表着“0个或多个前面的内容”。最后,字符"+"与 {1,}是相等的,表示“1个或多个前面的内容”,所以上面的4个例子可以写成:

^[a-zA-Z0-9_]+$ //所有包含一个以上的字母、数字或下划线的字符串 
^[0-9]+$ //所有的正数 
^\-?[0-9]+$ //所有的整数 
^\-?[0-9]*\.?[0-9]*$ //所有的小数 
--------------------------------------------------------------------------------
验证网址 必须以.net或.com结尾
(\.net|\.com)$
^w{3}\.\w+\.(net|com)$

验证身份证号
^(\d{15}|\d{18}|\d{17}[xX])$

验证正整数
^(\+?[1-9]\d*)$
验证正整数或零
^((\+?[1-9]\d*)|0)$
验证负整数
^-[1-9]\d*$
验证整数
^(([\+-]?[1-9]\d*)|0)$
^(((\+|-)?[1-9]\d*)|0)$

验证浮点数
^((([\+-]?[1-9]\d*)|0)(\.\d+)?)$
得到浮点数正负号整数部分小数部分的值
^(((([\+-]?)([1-9]\d*))|0)(\.(\d{2}))?)$
验证保留两位小数的浮点数
^((([\+-]?[1-9]\d*)|0)\.\d{2})$
^((([\+-]?[1-9]\d*)|0)(\.\d{2})?)$
得到浮点数正负号整数部分小数部分的值

验证固话号码
^(0\d{2,3}-)?\d{7,8}$
^(0\d{2,3}-)?\d{7,8}$
验证固话或手机号

EMail验证 并分组取得数据
^\w+([-!+\.]*\w*)*@\w+(\.\w+)+$