今天想写一个验证邮箱的正则表达式,发现自己原来不会。那没办法了,只有请出google来学习下,发现这个正在表达式还是有点不好搞!下面的介绍一点我学到的吧!
通过google收到一篇名叫《正则表达式30分钟入门教程》[url]http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm[/url]
如想知道的更详细就点击去看看吧!
由于也是应急所以只看一些。
这里就不废话去说什么是正则表达式了。直接给出一些关键信息
[quote]
1. 常用元字符
[table]
|代码|说明
|.|匹配除换行符以外的任意字符
|\w|匹配字母或数字或下划线或汉字
|\s|匹配任意的空白符
|\d|匹配数字
|\b|匹配单词的开始或结束
|^|匹配字符串的开始
|$|匹配字符串的结束
[/table]
知道了上面的常用元字符千万不要忘了字符转义(\)。什么叫转义就不解释了。列个例子
例如:C:\\Windows匹配的是C:\Windows
unibetter\.com 匹配unibetter.com
String eL="\\d{6}":匹配的是6位数字。
使用转义符(\)就是声明不要解释错。使用(\)来取消一些字符的特殊意义。
注意:[0-9]和\d的含义一样
[a-z0-9A-z]和\w也是一样的
[/quote]
[quote]
2.常用的限定符
[table]
|代码/语法|说明
|*|重复零次或更多次
|+|重复一次或更多次
|?|重复零次或一次
|{n}|重复n次
|{n,}|重复n次或更多次
|{n,m}|重复n到m次
[/table]
给出点消化剂吧
例如:
abc\d+:表示匹配abc后面跟1个或更多数字
[/quote]
接下来就有点难度了,大家都知道一般任何事情都有规则。这个正则表达式同样也可以设置规则,不过它叫分枝条件。和程序的流程图中的分支流有那么类似。
它们给消化即
当你碰到一个结果可以由几个不同的方式得到。而你又想使用正则那么就必须使用分枝了。
0\d{2}-\d{8}|0\d{3}-\d{7}:这个表示匹配两种以连字符分隔的电话号码:
一种是0\d{2}-\d{8}例如(010-12345678)
一种是0\d{3}-\d{7}例如(0799-1234567)
通过上面的例子就知道分枝是使用(|)。
注意:在使用分枝的时候,记住分枝是有顺序的,从左到右,如果满足靠左边的某个分枝,那么它就不再去管其他的条件了。
例如:\d{5}-\d{4}|\d{5}:表示匹配5位数字加一个连接字符加4位数字或者直接是5位数字
如果你将\d{5}-\d{4}和\d{5}那么就导致一个分支不执行。
其实你可以将(|)看出是或运算。
[quote]
3.常用的反义代码
[table]
|代码/语法|说明
|\W|匹配任意不是字母,数字,下划线,汉字的字符
|\S|匹配任意不是空白符的字符
|\D|匹配任意非数字的字符
|\B|匹配不是单词开头或者结束的位置
|[^x]|匹配除了x以外的任意字符
|[^aeiou]|匹配除了ariou这个字母以外的任意字符
[/table]
[/quote]
[quote]
4.懒惰限定符
[table]
|代码/语法|说明
|*?|重复任意次,但尽可能少重复
|+?|重复1次或更多次,但尽可能少重复
|??|重复0次或1次,但尽可能少重复
|{n,m}?|重复n到m次,但尽可能少重复
|{n,}?|重复n次以上,但尽可能少重复
[/table]
[/quote]
以上就是简单的从Google得到的一些正在表达式。如果想详细的学习正则表达式那么你也得使用google法宝了。
通过google收到一篇名叫《正则表达式30分钟入门教程》[url]http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm[/url]
如想知道的更详细就点击去看看吧!
由于也是应急所以只看一些。
这里就不废话去说什么是正则表达式了。直接给出一些关键信息
[quote]
1. 常用元字符
[table]
|代码|说明
|.|匹配除换行符以外的任意字符
|\w|匹配字母或数字或下划线或汉字
|\s|匹配任意的空白符
|\d|匹配数字
|\b|匹配单词的开始或结束
|^|匹配字符串的开始
|$|匹配字符串的结束
[/table]
知道了上面的常用元字符千万不要忘了字符转义(\)。什么叫转义就不解释了。列个例子
例如:C:\\Windows匹配的是C:\Windows
unibetter\.com 匹配unibetter.com
String eL="\\d{6}":匹配的是6位数字。
使用转义符(\)就是声明不要解释错。使用(\)来取消一些字符的特殊意义。
注意:[0-9]和\d的含义一样
[a-z0-9A-z]和\w也是一样的
[/quote]
[quote]
2.常用的限定符
[table]
|代码/语法|说明
|*|重复零次或更多次
|+|重复一次或更多次
|?|重复零次或一次
|{n}|重复n次
|{n,}|重复n次或更多次
|{n,m}|重复n到m次
[/table]
给出点消化剂吧
例如:
abc\d+:表示匹配abc后面跟1个或更多数字
[/quote]
接下来就有点难度了,大家都知道一般任何事情都有规则。这个正则表达式同样也可以设置规则,不过它叫分枝条件。和程序的流程图中的分支流有那么类似。
它们给消化即
当你碰到一个结果可以由几个不同的方式得到。而你又想使用正则那么就必须使用分枝了。
0\d{2}-\d{8}|0\d{3}-\d{7}:这个表示匹配两种以连字符分隔的电话号码:
一种是0\d{2}-\d{8}例如(010-12345678)
一种是0\d{3}-\d{7}例如(0799-1234567)
通过上面的例子就知道分枝是使用(|)。
注意:在使用分枝的时候,记住分枝是有顺序的,从左到右,如果满足靠左边的某个分枝,那么它就不再去管其他的条件了。
例如:\d{5}-\d{4}|\d{5}:表示匹配5位数字加一个连接字符加4位数字或者直接是5位数字
如果你将\d{5}-\d{4}和\d{5}那么就导致一个分支不执行。
其实你可以将(|)看出是或运算。
[quote]
3.常用的反义代码
[table]
|代码/语法|说明
|\W|匹配任意不是字母,数字,下划线,汉字的字符
|\S|匹配任意不是空白符的字符
|\D|匹配任意非数字的字符
|\B|匹配不是单词开头或者结束的位置
|[^x]|匹配除了x以外的任意字符
|[^aeiou]|匹配除了ariou这个字母以外的任意字符
[/table]
[/quote]
[quote]
4.懒惰限定符
[table]
|代码/语法|说明
|*?|重复任意次,但尽可能少重复
|+?|重复1次或更多次,但尽可能少重复
|??|重复0次或1次,但尽可能少重复
|{n,m}?|重复n到m次,但尽可能少重复
|{n,}?|重复n次以上,但尽可能少重复
[/table]
[/quote]
以上就是简单的从Google得到的一些正在表达式。如果想详细的学习正则表达式那么你也得使用google法宝了。