A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何明辉 中级黑马   /  2012-8-17 11:13  /  1025 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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="\\.";这样理解有什么不对?

1 个回复

倒序浏览
你的元字符串中是\\,那么在定义正则表达式应该为\\\\
因为\是一个转义字符,元字符串中有两个\,一个的话是\\,两个的话就是四个,所以\\也就应该为\\\\
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马