黑马程序员技术交流社区

标题: 对字符串“\”的理解 [打印本页]

作者: 何明辉    时间: 2012-8-17 11:13
标题: 对字符串“\”的理解
class RegexDemo23
{
public static void main(String[] args)
{
  String a1="c:\\.wda\\.dxadx\\.adxa";  ---------1
  String regex="\\\\.";                             --------2
  String[] fs=a1.split(regex);
  for(String s1:fs)
   System.out.println(s1);
}
}
程序中使用正则表达式按照“\\.”进行切割,1处因为有两个"\\",所以2处应该为“\\\\”,我有点想不通的是既然转义,那肯定都需要转义啊,字符串1处虽为“\\”,但经过转义后应该为“\”,所以切割的正则表达式应该这样设置:String regex="\\.";这样理解有什么不对?
作者: 胡刚涛    时间: 2012-8-17 11:22
你的元字符串中是\\,那么在定义正则表达式应该为\\\\
因为\是一个转义字符,元字符串中有两个\,一个的话是\\,两个的话就是四个,所以\\也就应该为\\\\




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2