正则表达式10分钟入门教程
2015-09-14 08:35
337 查看
1 前言
编写验证规则最流行和最简单的方法就是正则表达式了,但唯一的一个问题是正则表达式的语法太隐晦了,让人蛋疼无比。很多开发者为了在项目中应用复杂的验证,经常要使用一些小抄来记住正则式的复杂语法和各种常用命令。在这篇文章中,我将试图让大家明白什么是正则表达式,以及如何更轻松地学习正则表达式。
2 正则表达式基础
正则表达式可以帮助我们更好的描述复杂的文本格式。一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取和修改操作。其实说白了就是对字符串进行操作,一个简单的应用就是邮箱验证。3 开始正则表达式
1 第一步要引用相关的正则式的明明空间
using System.Text.RegularExpressions;
2 第二步就是用指定的正则表达式构建一个正则表达式对象。下面是用来搜索长度为10的a-z的字母
Regx obj = Regx("[a-z]{10}");
3 最后根据正则式在指定数据中匹配项,如果匹配IsMatch方法就会返回true
MessageBox.show(obj.IsMatch("hellochina").ToString());
4 三个重要的正则式命令
记住正则语法最好的办法就是记住这三样东西:Bracket(括号), caret(插入符号)和Dollars(美元符号)。B
在正则表达式中有3种类型的括号
方括号 “[“和花括号“{“ 。
方括号"["内是需要匹配的字符,花括号"{"内是指定匹配字符的数量。
圆括号“(“ 则是用来分组的。
C
插入符号 “^”
表示正则式的开始。
D
美元符号“$”
表示正则式的结束。
现在你知道上面的3个语法后,你就可以写世界上任何一条验证规则了。比如下面的例子就很好的说明了上面3条正则语法是如何协调运作的。
上图有个错误,"()"应为"{}"
5 简单应用
让我们开始第一个验证,输入的字符在a-g之间?[a-g]
输入的字符在a-g之间并且最大长度为3最小长度为1?
[a-g]{1,3}
我如何在匹配像91230456, 01237648那样的固定8位数?
^[0-9]{8}$
如何验证像LJI1020那样的发票编号,前3个是字母剩余为8位长度的数字?
^[a-z]{3}[0-9]{7}$
我们可以验证简单的网址URL格式吗?
^www[.][a-z]{1,15}[.](com|org)$
验证值在0-25的数字:
^[0-9] | ( [0][9][0][9] ) | ( [0-2][0-5])$
6 快捷命令
快捷命令[0-9]
d
[a-z][0-9][_]
w
0次或多次发生
*
至少一次发生
+
0次或1次发生
?
相关文章推荐
- MapReduce1---关于排序的总结
- Android学习笔记之Service学习笔记
- angularJS<六、$scope里的$watch方法>
- MonoDevelop几个常用的快捷键
- 业界资讯:Egret Engine 2.5 迎来大更新
- angularJS<五、$scope中的$apply和$digest>
- 设计模式-02-单例
- [转载]Qt之获取本机网络信息
- 解析XML格式数据的方式——Pull解析、SAX解析
- 探索c#之storm的TimeCacheMap
- angularJS<四、多个Controller的作用域>
- STM32F411的DMA使用注意清除标志位
- 新浪微博开发-1
- 第三十七天 HTTPClient(doget、dopost)
- 数字证书及CA的扫盲介绍
- 关于memcpy函数
- 【特种兵PPT教程】PPT中柔化边缘有mà用?
- 改变的情绪
- HttpClient(Android Sdk 6.0问题)
- 上周热点回顾(9.7-9.13)