转义字符之间字符串的正则表达式

时间:2013-12-09 09:24:02

标签: java regex substring

我有一个字符串,我想在转义字符之间提取子字符串。

e.g。

   AC001 (\\Test123\homedir$) (H:)

如何在java中获得Test123

4 个答案:

答案 0 :(得分:1)

尝试,

    String input = "AC001 (\\Test123\\homedir$) (H:)";
    String regex="(\\\\.*\\\\)";
    Pattern ptrn = Pattern.compile(regex);
    Matcher mtchr = ptrn.matcher(input);
    while (mtchr.find()) {
        String res=mtchr.group();
        System.out.println(res.substring(1, res.length()-1));
    }

答案 1 :(得分:0)

如果没有正则表达式,你可以这样做:

String str = "AC001 (\\\\Test123\\homedir$) (H:)"; 
String substr = str.substring(str.indexOf('\\')+2, str.indexOf('\\', str.indexOf('\\')+2));
//=> Test123

答案 2 :(得分:0)

String s = "AC001 (\\Test123\homedir$) (H:)";

s = s.substring(s.indexOf('\\') + 2);
s = s.substring(0, s.indexOf('\\'));

System.out.println(s);

答案 3 :(得分:0)

在一行中:

String middle = str.replaceAll(".*\\\\(.*?)\\h.*", "$1");

此正则表达式匹配整个字符串,但捕获目标,该目标是使用后引用返回的。