[.net 面向对象程序设计进阶] (4) 正则表达式 (三) 表达式助手
[.net 面向对象程序设计进阶] (2) 正则表达式(三) 表达式助手
上面两节对正则表达式的使用及.NET下使用正则表达式作了详细说明,本节主要搜集整理了常用的正则表达式提供参考。
此外为了使用方便,编写了一个《正则表达式助手》方便测试正则表达式。
1.正则表达式助手
1.1 软件概述
|
软件名称: |
《正则表达式助手》 |
|
版本: |
3.5 |
|
最后更新日期: |
2015/07/04 09:22:00 |
|
作者: |
YuBinfeng |
|
运行环境: |
.NET Framework 4.0及以上(常用表达式功能,需要联网,从博客园本贴中获取数据) |
|
作者博客: |
http://www.cnblogs.com/yubinfeng/p/4612670.html |
|
技术交流QQ群: |
467189533 |
|
下载地址:(点击下载) |
http://files.cnblogs.com/files/yubinfeng/正则表达式助手3.5.rar |
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]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))$ |
|
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 |
空白行的正则表达式 |
\n\s*\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-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$ |
|
4 |
颜色数值校验(如#FF00FF) |
\#[a-fA-F0-9]{6} |
|
5 |
货币校验 |
^\d{0,}(\.\d+)?$ |
常用正则表达式(陆续整理中)
==============================================================================================
<如果对你有帮助,记得点一下推荐哦,如有
有不明白或错误之处,请多交流>
<对本系列文章阅读有困难的朋友,请先看《.net 面向对象编程基础》>
<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>
.NET 技术交流群:467189533 
==============================================================================================
[.net 面向对象程序设计进阶] (4) 正则表达式 (三) 表达式助手的更多相关文章
- [.net 面向对象程序设计进阶] (2) 正则表达式 (一) 快速入门
[.net 面向对象程序设计进阶] (2) 正则表达式 (一) 快速入门 1. 什么是正则表达式? 1.1 正则表达式概念 正则表达式,又称正则表示法,英文名:Regular Expression(简 ...
- [.net 面向对象程序设计进阶] (3) 正则表达式 (二) 高级应用
[.net 面向对象程序设计进阶] (2) 正则表达式 (二) 高级应用 上一节我们说到了C#使用正则表达式的几种方法(Replace,Match,Matches,IsMatch,Split等),还 ...
- [.net 面向对象程序设计进阶] (1) 开篇
[.net 面向对象程序设计进阶] (1) 开篇 上一系列文章<.net 面向对象编程基础>写完后,很多小伙伴们希望我有时间再写一点进阶的文章,于是有了这个系列文章.这一系列的文章中, 对 ...
- [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用
[.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用 本节导读:讨论了表达式树的定义和解析之后,我们知道了表达式树就是并非可执行代码,而是将表达式对象化后的数据结构.是 ...
- [.net 面向对象程序设计进阶] (6) Lamda表达式(二) 表达式树快速入门
[.net 面向对象程序设计进阶] (6) Lamda表达式(二) 表达式树快速入门 本节导读: 认识表达式树(Expression Tree),学习使用Lambda创建表达式树,解析表达式树. 学习 ...
- [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)
[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...
- [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类
[.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类 本节导读:本节主要介绍通过序列 ...
- [.net 面向对象程序设计进阶] (5) Lamda表达式(一) 创建委托
[.net 面向对象程序设计进阶] (5) Lamda表达式(一) 创建委托 本节导读: 通过学习Lambda表达式,学会创建委托和表达式目录树,深入了解Lambda的特性,让你的代码变的更加清晰. ...
- 【 .NET 面向对象程序设计进阶》】【 《.NET 面向对象编程基础》】【《正则表达式助手》】
<.NET 面向对象程序设计进阶> <.NET 面向对象程序设计进阶> <正则表达式助手>
随机推荐
- visul studio 文件分包
1.搜索算法. 2.软件控制逻辑. 3.自定义控件. 4.GUI模块. 5.线程化操作
- win10+vs2015+opencv3.0 x86/x64配置(debug+release)
最近做一些图像识别的项目,用到了opencv,opencv3.1没有x86版本,所以只能用opencv3.0来完成,下面介绍一下在window10下vs2015 配置opencv3.0的过程(x86和 ...
- easyui datagrid 加载两次请求,触发两次ajax 请求 问题
datagrid初始化的时候请求两次URL 两种情况 1. <table id="gridview" class="easyui-datagrid"> ...
- ajax select option 数据。为了下次方便信手拈来!!
为了下次方便信手拈来!! 示例1 var form = document.forms["maddraddform"]; $(form.province).change(functi ...
- QQ邮箱发送邮件,出现mail from address must be same as authorization user错误
之前做的一个系统,有个发送邮件的功能,一直能正常使用,今天同事说QQ邮箱发送不了. 立马着手调试,发现服务器一直出现“mail from address must be same as authori ...
- html5新特性之画布
1.canvas的理解 canvas是一个矩形区域,在这个区域内,通过js可以对区域内的每一帧像素控制 2.js操作canvas对象 canvas对象.getContext("2d" ...
- ActionScript 3.0 自写类整理笔记(十三)——Random类
一个简单的随机函数工具类,总共提供了9种静态方法来获取不同的随机值随便写的,如果你还有什么更好的建议,请提出来,谢谢~ index.Random类:代码:public final class Rand ...
- Hyper-v虚拟机文件VHDX与VHD的格式转换
今天遇到一个坑,我在本机(windows 10)上创建的CentOS虚拟机作为docker的宿主机,部署了gitlab等容器,准备迁移到服务器上的时候,发现始终无法导入,提示必须通过Hyper-v导出 ...
- [转]Redis之七种武器
长生剑.孔雀翎.碧玉刀.多情环.离别钩.霸王枪.拳头是古龙笔下的七种武器,而本文打算将Redis的几种使用方式 Strings.Hashs.Lists.Sets.Sorted Sets.Pub/Sub ...
- linux下配置ssledge代理服务器
ssl edge 是一个非常好用的VPN/proxy, 比云梯 稳定快速的多. 在LINUX下开发 Titanium 需要用到各种FQ,所以它是必备工具. 1. 根据自己付费后的用户名和密码,下载 ...