常用正则表达式

 

 1 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
 2
 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 匹配帐号是否合法(字母开头,允许5 - 16字节,允许字母数字下划线): ^ [a - zA - Z][a - zA - Z0 - 9_] {4,15} $
18 评注:表单验证时很实用
19 匹配国内电话号码:\d {3} - \d {8} | \d {4} - \d {7}
20 评注:匹配形式如  0511 - 4405222  或  021 - 87888822
21 匹配腾讯QQ号:[ 1 - 9 ][ 0 - 9 ] {4,}
22 评注:腾讯QQ号从10000开始
23 匹配中国邮政编码:[ 1 - 9 ]\d {5} ( ?! \d)
24 评注:中国邮政编码为6位数字
25 匹配身份证:\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
52
53
54

转载于:https://www.cnblogs.com/ctfzh/archive/2008/01/28/1055848.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值