1
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
2![](/Images/OutliningIndicators/None.gif)
3
匹配中文字符的正则表达式: [\u4e00
-
\u9fa5]
4
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
5
匹配双字节字符(包括汉字在内):[
^
\x00
-
\xff]
6
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
7
匹配空白行的正则表达式:\n\s
*
\r
8
评注:可以用来删除空白行
9
匹配HTML标记的正则表达式:
<
(\S
*?
)[
^>
]
*>
.
*?<
/
\1>|<.*?
/
>
10
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
11
匹配首尾空白字符的正则表达式:
^
\s
*|
\s
*
$
12
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
13
匹配Email地址的正则表达式:\w
+
([
-+
.]\w
+
)
*
@\w
+
([
-
.]\w
+
)
*
\.\w
+
([
-
.]\w
+
)
*
14
评注:表单验证时很实用
15
匹配网址URL的正则表达式:[a
-
zA
-
z]
+
:
//
[^\s]*
16
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
17![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
匹配帐号是否合法(字母开头,允许5
-
16字节,允许字母数字下划线):
^
[a
-
zA
-
Z][a
-
zA
-
Z0
-
9_]
{4,15}
$
18
评注:表单验证时很实用
19![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
匹配国内电话号码:\d
{3}
-
\d
{8}
|
\d
{4}
-
\d
{7}
20
评注:匹配形式如
0511
-
4405222
或
021
-
87888822
21![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
匹配腾讯QQ号:[
1
-
9
][
0
-
9
]
{4,}
22
评注:腾讯QQ号从10000开始
23![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
匹配中国邮政编码:[
1
-
9
]\d
{5}
(
?!
\d)
24
评注:中国邮政编码为6位数字
25![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
匹配身份证:\d
{15}
|
\d
{18}
26
评注:中国的身份证为15位或18位
27
匹配ip地址:\d
+
\.\d
+
\.\d
+
\.\d
+
28
评注:提取ip地址时有用
29
匹配特定数字:
30
^
[
1
-
9
]\d
*
$
//
匹配正整数
31
^-
[
1
-
9
]\d
*
$
//
匹配负整数
32
^-?
[
1
-
9
]\d
*
$
//
匹配整数
33
^
[
1
-
9
]\d
*|
0
$
//
匹配非负整数(正整数 + 0)
34
^-
[
1
-
9
]\d
*|
0
$
//
匹配非正整数(负整数 + 0)
35
^
[
1
-
9
]\d
*
\.\d
*|
0
\.\d
*
[
1
-
9
]\d
*
$
//
匹配正浮点数
36
^-
([
1
-
9
]\d
*
\.\d
*|
0
\.\d
*
[
1
-
9
]\d
*
)$
//
匹配负浮点数
37
^-?
([
1
-
9
]\d
*
\.\d
*|
0
\.\d
*
[
1
-
9
]\d
*|
0
?
\.
0
+|
0
)$
//
匹配浮点数
38
^
[
1
-
9
]\d
*
\.\d
*|
0
\.\d
*
[
1
-
9
]\d
*|
0
?
\.
0
+|
0
$
//
匹配非负浮点数(正浮点数 + 0)
39
^
(
-
([
1
-
9
]\d
*
\.\d
*|
0
\.\d
*
[
1
-
9
]\d
*
))
|
0
?
\.
0
+|
0
$
//
匹配非正浮点数(负浮点数 + 0)
40
评注:处理大量数据时有用,具体应用时注意修正
41
匹配特定字符串:
42
^
[A
-
Za
-
z]
+
$
//
匹配由26个英文字母组成的字符串
43
^
[A
-
Z]
+
$
//
匹配由26个英文字母的大写组成的字符串
44
^
[a
-
z]
+
$
//
匹配由26个英文字母的小写组成的字符串
45
^
[A
-
Za
-
z0
-
9
]
+
$
//
匹配由数字和26个英文字母组成的字符串
46
^
\w
+
$
//
匹配由数字、26个英文字母或者下划线组成的字符串
47
评注:最基本也是最常用的一些表达式
48
原载地址:http:
//
lifesinger.3322.org/myblog/?p=185
49
本文来源于月光博客 http:
//
www.williamlong.info , 原文地址:http://www.williamlong.info/archives/433.html
50
51![](/Images/OutliningIndicators/None.gif)
52![](/Images/OutliningIndicators/None.gif)
53![](/Images/OutliningIndicators/None.gif)
54
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
33
![](/Images/OutliningIndicators/None.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
36
![](/Images/OutliningIndicators/None.gif)
37
![](/Images/OutliningIndicators/None.gif)
38
![](/Images/OutliningIndicators/None.gif)
39
![](/Images/OutliningIndicators/None.gif)
40
![](/Images/OutliningIndicators/None.gif)
41
![](/Images/OutliningIndicators/None.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/None.gif)
45
![](/Images/OutliningIndicators/None.gif)
46
![](/Images/OutliningIndicators/None.gif)
47
![](/Images/OutliningIndicators/None.gif)
48
![](/Images/OutliningIndicators/None.gif)
49
![](/Images/OutliningIndicators/None.gif)
50
![](/Images/OutliningIndicators/None.gif)
51
![](/Images/OutliningIndicators/None.gif)
52
![](/Images/OutliningIndicators/None.gif)
53
![](/Images/OutliningIndicators/None.gif)
54
![](/Images/OutliningIndicators/None.gif)