+ -
当前位置:首页 → 问答吧 → 正则表达式问题,急急急急!!!!

正则表达式问题,急急急急!!!!

时间:2011-11-15

来源:互联网

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
这个怎么理解啊???

作者: ysh3940   发布时间: 2011-11-15

^是字符串的开头
\w是单词字符,即英文字母,下划线或数字
所以[\w-]就是单词字符或减号
+表示出现1次或多次
所以[\w-]+表示单词字符或减号出现一次或多次
\.表示点字符
*表示出现0次或多次
所以(\.[\w-]+)*表示点号和1个或多个单词字符或减号出现0次或多次
@就是@符号
$就是结束符,即字符串的最末尾

作者: qybao   发布时间: 2011-11-15

楼主匹配的应该是个e-mail地址吧。@前后可以包含下划线,中划线,字母,数字以及小数点

作者: woaidoudoue   发布时间: 2011-11-15

“\w”用于匹配字母,数字或下划线
“[]”表示字符集合,匹配所包含的任意字符。例如“[abc]”可以匹配字符串“plain”中的“a”
 所以[\w-] 就是“字母或数字或下划线或中划线”的意思 等价于[0-9a-zA-Z_-]"

“+”代表1个或多个的意思 
“*”表示0次或多次

“^”开始 “$”结束 lz应该可以理解了吧

作者: tsz2008   发布时间: 2011-11-15

http://baike.baidu.com/view/94238.htm
LZ可以看下这个,有一个分析的例子,你可以自己参照分析下。我也是刚看了你的帖子才去查了下。自己写个测试代码测试下。

作者: woaidoudoue   发布时间: 2011-11-15

查阅API。。。

作者: JieTouLangRen   发布时间: 2011-11-15

引用 1 楼 qybao 的回复:

^是字符串的开头
\w是单词字符,即英文字母,下划线或数字
所以[\w-]就是单词字符或减号
+表示出现1次或多次
所以[\w-]+表示单词字符或减号出现一次或多次
\.表示点字符
*表示出现0次或多次
所以(\.[\w-]+)*表示点号和1个或多个单词字符或减号出现0次或多次
@就是@符号
$就是结束符,即字符串的最末尾

+1

作者: Chianfirstli   发布时间: 2011-11-15

引用 1 楼 qybao 的回复:

^是字符串的开头
\w是单词字符,即英文字母,下划线或数字
所以[\w-]就是单词字符或减号
+表示出现1次或多次
所以[\w-]+表示单词字符或减号出现一次或多次
\.表示点字符
*表示出现0次或多次
所以(\.[\w-]+)*表示点号和1个或多个单词字符或减号出现0次或多次
@就是@符号
$就是结束符,即字符串的最末尾

作者: ysh3940   发布时间: 2011-11-15