String ps = "^\\w*@[\\w\\.]*";   
大家看下这个代码,\w我知道,是数字和英文的字符的意思.但前面加了一个\,啥意思啊?

解决方案 »

  1.   

    String ps = "^\\w*@[\\w\\.]*"; 
    你ps肯能是正则表达式要使用的字符串
    为了保证其中含有\就必须使用\\ 反斜线  (转义)不让就会和\后的字符形成新转义产生了歧义
      

  2.   

    举个例子,“b”表示字母b,“\b”转义一次表示退格,“\\b”转义两次才表示正则表达式中单词边界的意思。
      

  3.   

     java语言中\是转义的意思,\\表示一个反斜杠。
      

  4.   

    "^\\w*@[\\w\\.]*"
    匹配e-mail的正则吧。以0个或多个字符开头,跟上一个"@",再跟上0个或多个字符或者"."\w前加一个\,是因为java中\要转义成\\来表示
      

  5.   

    简单的说,w 和 \ 都是转义字符,如果什么也不加,只是一个w,java认为它是一个字符, 当加上\后, java认为它是正则指定字符,但是加了\后,java会先遇到\,而\同样是转义符,所以还要再加一个\,变成\\w,这样经過jvm後,得到的是"\w"