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

解决方案 »

  1.   

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

  2.   

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

  3.   

    “\w”用于匹配字母,数字或下划线
    “[]”表示字符集合,匹配所包含的任意字符。例如“[abc]”可以匹配字符串“plain”中的“a”
     所以[\w-] 就是“字母或数字或下划线或中划线”的意思  等价于[0-9a-zA-Z_-]"“+”代表1个或多个的意思 
    “*”表示0次或多次“^”开始  “$”结束 lz应该可以理解了吧
      

  4.   

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