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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© asvsass 中级黑马   /  2014-2-23 18:01  /  1230 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

SplitDemo(c:\\abc\\dd\\a.txt,“\\\\”)为什么要用4个反斜杠切 不是3个就好了吗

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

4 个回复

倒序浏览
转义字符只能转紧跟着后面的那个字符,每一个你想转的\前面都得多加上一个\
两个的话就得是\\\\

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
哦 原来是分开转义。。。
回复 使用道具 举报
\\ 表示一个\,\\\\表示\\ C:\\ 不是2个么
回复 使用道具 举报
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. public class Test {
  4.         public static void main(String[] args) {
  5.                 // 认识 \s \w \d  \
  6.        // 这个程序结果全为true
  7.                 p(" \n\r\t".matches("\\s{4}"));
  8.                 p(" ".matches("\\s"));
  9.                 p("a_8".matches("\\w{3}"));
  10.        //[a-z]{1,3}表示a-z中有1个到3个
  11.        //\\d+表示数字1次或多次
  12.        //[&^#%]+ 这4个中出现1次或多次
  13.                 p("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));
  14.        //在java字符串中,2个反斜线代表1个反斜线,如何用正则表示式匹配一个反斜线?
  15.                 p("\\".matches("\\\\"));
  16.         }
  17.         public static void p(Object o) {
  18.                 System.out.println(o);
  19.         }
  20. }
复制代码

    上面是我原来笔记中的一个例子。在java字符串中,2个反斜线代表1个反斜线,如何用正则表示式匹配一个反斜线?
    p("\\".matches("\\\\"));后面那个是正则表达式,正则表达式本身要匹配一个反斜线的话,需要2个反斜线,然后要用字符串把这个正则表示式表现出来的时候,每一个反斜线都要用两个反斜线替代,所以要有4个反斜线。所以要在正则表达式中匹配1个反斜线的话,要写4个




评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马