您的位置:首页 > 其它

正则表达式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次发生

?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: