public class Main {
/**
* @param args
*/
public static void main(String[] args) {
String url="http://a.b.com/m/test/index";
System.out.println(url.replaceAll("^.*?((?<!/)(?:/)(?!/))", ""));
}
}
系统打印为:m/test/index
。
但在我看来它应该是:/m/test/index
。有人给出了一些理由吗?
答案 0 :(得分:2)
你的正则表达式是“尽可能少的字符,包括第一个斜线,前面既不是斜线也不是斜杠”。斜线本身显然包含在正则表达式中。它在非捕获组中的事实并不意味着它不是匹配的一部分。