上面两节对正则表达式的使用及.NET下使用正则表达式作了详细说明,本节主要搜集整理了常用的正则表达式提供参考。
此外为了使用方便,编写了一个《正则表达式助手》方便测试正则表达式。
1.正则表达式助手
1.1软件概述
1.2 更新记录
2015/07/04 09:22:00 Version 3.5
修复未联网时,打开应用程序出错的问题。
2015/07/01 20:00:00 Version 3.1
增加输入框右键菜单
增加输入错误表达式,执行后,提示错误信息。
2015/07/01 14:01:01 Version 2.0
更新汽车车牌号码匹配、汽车发动机号匹配、颜色值匹配
修复常用列表偶尔会出现索引值不存在的BUG。
1.3助手使用说明
正则表达式助手主要有两方法的功能:
A.一是可以执行查询和替换两种匹配方式
B.二是通过联网(主要是通过博客园本贴子的更新数据,加载常用的正则表达式,方便贴子和软件同步)
1.4软件介绍
1.3.1主界面
1.3.2自动联接我的博客同步获取最新“常用正则表达式”
1.3.3点击常用列表,可以将正则表达式加入到调试窗口
1.3.4支持查找和替换两种模式,表达式选项支持忽略大小写、单行模式、多行模式、忽略空白和显式模式等四种。
1.3.4关于软件更新,当有新版本时打开软件会有提示,也可以主动下载新版本
2.常用正则表达式
常用正则表达式(陆续整理中)
校验数字类 |
序号 |
说明 |
正则表达式 |
1 |
正数字 |
^[0-9]*$ |
2 |
n位的数字 |
^d{n}$ |
3 |
至少n位的数字 |
^d{n,}$ |
4 |
m-n位的数字 |
^d{m,n}$ |
5 |
零和非零开头的数字 |
^(0|[1-9][0-9]*)$ |
6 |
非零开头的最多带两位小数的数字 |
^([1-9][0-9]*)+(.[0-9]{1,2})?$ |
7 |
带1-2位小数的正数或负数 |
^(-)?d+(.d{1,2})?$ |
8 |
正数、负数、和小数 |
^(-|+)?d+(.d+)?$ |
9 |
有两位小数的正实数 |
^[0-9]+(.[0-9]{2})?$ |
10 |
有1~3位小数的正实数 |
^[0-9]+(.[0-9]{1,3})?$ |
11 |
非零的正整数 |
^[1-9]d*$ |
12 |
非零的负整数 |
^-[1-9]d*$ |
13 |
非负整数 |
^d+$ |
14 |
非正整数 |
^-[1-9]d*|0$ |
15 |
非负浮点数 |
^d+(.d+)?$ |
16 |
非正浮点数 |
^((-d+(.d+)?)|(0+(.0+)?))$ |
17 |
正浮点数 |
^[1-9]d*.d*|0.d*[1-9]d*$ |
18 |
负浮点数 |
^-([1-9]d*.d*|0.d*[1-9]d*)$ |
19 |
浮点数 |
^(-?d+)(.d+)?$ |
校验字符类 |
1 |
中文 |
[u4e00-u9fa5] |
2 |
英文和数字 |
^[A-Za-z0-9]+$ |
3 |
长度为3-20的所有字符 |
^.{3,20}$ |
4 |
由26个英文字母组成的字符串 |
^[A-Za-z]+$ |
5 |
由26个大写英文字母组成的字符串 |
^[A-Z]+$ |
6 |
由26个小写英文字母组成的字符串 |
^[a-z]+$ |
7 |
由数字和26个英文字母组成的字符串 |
^[A-Za-z0-9]+$ |
8 |
由数字、字母或者下划线的字符串 |
^w+$ 或 ^w{3,20}$ |
9 |
中文、英文、数字包括下划线 |
^[u4E00-u9FA5A-Za-z0-9_]+$ |
10 |
中文、英文、数字(无下划线) |
^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$ |
11 |
可以输入含有^%&',;=?$"等字符 |
[^%&',;=?$x22]+ |
12 |
禁止输入含有~的字符 |
[^~x22]+ |
特殊需求类 |
1 |
Email地址 |
^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$ |
2 |
域名 |
^(((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?))$ |
3 |
URL |
[a-zA-z]+://[^s]* 或 ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ |
4 |
手机号码 |
^(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}$ |
5 |
电话号码 |
^((d{3,4})|d{3,4}-)?d{7,8}$ |
6 |
验证身份证号(15位或18位数字) |
^d{15}$|^d{18}$ |
7 |
短身份证号码(数字、字母x结尾) |
^([0-9]){7,18}(x|X)?$ |
8 |
帐号是否合法(字母开头,5-16,母数字下划线) |
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
9 |
密码(字母开头,6~18,只能包含字母、数字和下划线) |
^[a-zA-Z]w{5,17}$ |
10 |
强密码(含大小写字母和数字,不含特殊字符,8-10之间) |
^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ |
11 |
日期格式 |
^d{4}-d{1,2}-d{1,2} |
12 |
一年的12个月(01~09和1~12) |
^(0?[1-9]|1[0-2])$ |
13 |
一个月的31天(01~09和1~31) |
^((0?[1-9])|((1|2)[0-9])|30|31)$ |
14 |
xml文件 |
^([a-zA-Z]+-?)+[a-zA-Z0-9]+.[x|X][m|M][l|L]$ |
15 |
双字节字符(含汉字) |
[^x00-xff] |
16 |
空白行的正则表达式 |
ns*r |
17 |
HTML标记的正则表达式 |
<(S*?)[^>]*>.*?</1>|<.*? /> |
18 |
首尾空白字符的正则表达式 |
^s*|s*$或(^s*)|(s*$) |
19 |
腾讯QQ号 |
[1-9][0-9]{4,} |
20 |
中国邮政编码 |
[1-9]d{5}(?!d) |
15/07/01更新 |
1 |
车牌号码 |
^[u4E00-u9FA5][da-zA-Z]{6}$ |
2 |
汽车发动机序列号 |
^[a-zA-Z0-9]{16}$ |
3 |
MSN号码 |
^((([a-z]|d|[!#$%&'*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+(.([a-z]|d|[!#$%&'*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+)*)|((x22)((((x20|x09)*(x0dx0a))?(x20|x09)+)?(([x01-x08x0bx0cx0e-x1fx7f]|x21|[x23-x5b]|[x5d-x7e]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([x01-x09x0bx0cx0d-x7f]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))))*(((x20|x09)*(x0dx0a))?(x20|x09)+)?(x22)))@((([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).)+(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).?$ |
4 |
颜色数值校验(如#FF00FF) |
#[a-fA-F0-9]{6} |
5 |
货币校验 |
^d{0,}(.d+)?$ |
转自:http://www.cnblogs.com/yubinfeng/p/4612670.html (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|