常用正则表达式

常用正则表达式 如用户名 密码 邮箱 email
2011-04-21 11:27

只能输入数 字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^\-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能输入汉字:"^[\一-\龥]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^
http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"。
验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。

1,正则表达式的用途:正则表达式是用来判断“字 符串”是否符合某个“样式”时,这个“样式”的表达方式。

2,正则表达式的写法

1)可以使用“//”括住正则表达式的样式,当在程序中使用正则表达式时,这是最快速容易的方式。

2)可以用类方法建立对象“Regxep.new(str)”这种写法。原来已经有了一个代表样式的字符串时,用这种方式建立正则表达式会比较方 便。

3)“%r”,当正则表达式内部用到“/”字符时,改用“%r”会比较方便。

3,正则表达式的匹配:符号“=~”,写法:正则 表达式 =~ 字符串;不成立时会返回nil,成立时会返回字符串中与样式匹配成功的起始位置。

4,正则表达式的样式

1)英文字母与数字:只会单纯地去匹配字符串里是否包含相同的文字。

2)转义字符:

a,“^”表示“与行首匹配成功的样式”;“$”表示“与行尾匹配成功的样式”;“\A”表示“与字符串头匹配成功的样式”;“\z”表示“与字符 串尾匹配成功的样式”。

b,“[]”表示“与其中任意一个字符匹配”;“[-]”表示“匹配的范围”;“[^]”表示“与这里所指定之外的字匹配成功”;

c,“.”表示任意一个字符;“\s”表示与空白,即空白字符(0×20)、定位符号、换行字符、换页字符匹配成功;“\d”表示“与0-9之间的 数字匹配成功”;“\w”表示“与英文与数字匹配成功”;“\”后面接上“^”、“$”、“[”这些英文、数字以外的转义字符时,这些字符将不再具备转义 字符的小用了,而可以去匹配这些字符本身。

d,“*”表示“出现0次以上”;“+”表示“出现1次以上”;“?”表示“出现0次和1次”;“*?”表示“出现0次以上,但取最短的匹配结 果”;“+?”表示“出现1次以上,但取最短的匹配结果”;“()”表示“多个字构成的字符串反复匹配”;“|”表示“可以在样式里列举多个候补条件,只 要其中一个符合就匹配成功”。

e,quote方法:会返回忽略所有转移字符串后的字符串,再以这个字符串作为new的实参建立出正则表达式对象。

f,“i”:忽略英文字母大小写的差异;“s”:字符编码方式为Shift_JIS;“e”:字符编码方式为E _JP;"u":字符编码方式为 UTF-8,"n":匹配时不考虑文字编码;“x”:忽略正则表达式内部的空白,并忽略“#”后面的内容;“m”:使得“.”能与换行符号匹配成功

附上常用正则表达式:

1,匹配中文字符的正则表达式: [\一-\龥]
2,匹配双字节字符(包括汉字在内):[^\x00-\xff]
3,匹配空白行的正则表达式:\n\s*\r
4,匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
5,匹配首尾空白字符的正则表达式:^\s*|\s*$
6,匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
7,匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
8,匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
9,匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
10,匹配中国邮政编码:[1-9]\d{5}(?!\d)
11,匹配身份证:\d{15}|\d{18}
12,匹配ip地址:\d+\.\d+\.\d+\.\d+
13,匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

14,匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

\d{18}|\d{17}[a-zA-Z]{1}|\d{15}  //身份证号码验证(包括新旧的验证)

^(13[0-9]|15[0|3|6|8|9])\d{8}$  //任意手机号码验证

^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$    //email地址

^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$  //url

ns*r    //匹配空白行的正则表达式

^s*|s*$    //匹配首尾空白字符的正则表达式

^[a-zA-Z][a-zA-Z0-9_]{4,15}$    //匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)

d+.d+.d+.d+      //匹配ip地址

[1-9][0-9]{4,}    //腾讯QQ号

^d+$  //非负整数(正整数 + 0)

^[0-9]*[1-9][0-9]*$  //正整数

^((-d+)|(0+))$  //非正整数(负整数 + 0)

^-[0-9]*[1-9][0-9]*$  //负整数

^-?d+$    //整数

^d+(.d+)?$  //非负浮点数(正浮点数 + 0)

^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$   //正浮点数

^((-d+(.d+)?)|(0+(.0+)?))$  //非正浮点数(负浮点数 + 0)

^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$   //负浮点数

^(-?d+)(.d+)?$  //浮点数

^[A-Za-z]+$  //由26个英文字母组成的字符串

^[A-Z]+$  //由26个英文字母的大写组成的字符串

^[a-z]+$  //由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$  //由数字和26个英文字母组成的字符串

^w+$  //由数字、26个英文字母或者下划线组成的字符串

只能输入数字:^[0-9]*$

只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$

只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

只能输入有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

只能输入非零的正整数:^+?[1-9][0-9]*$

只能输入非零的负整数:^-[1-9][0-9]*$

只能输入长度为3的字符:^.{3}$

只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

只能输入由数字、26个英文字母或者下划线组成的字符串:^w+$

以字母开头,长度在6-18之间,只能包含字符、数字和下划线:^[a-zA-Z]w{5,17}$

验证是否含有^%&',;=?$等字符:[^%&',;=?$x22]+

只能输入汉字:^[一-龥],{0,}$

验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$

验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$

你可能感兴趣的:(常用正则表达式)