代码之家  ›  专栏  ›  技术社区  ›  Gunaseelan

按单正斜杠拆分的正则表达式

  •  1
  • Gunaseelan  · 技术社区  · 8 年前

    我有跟线,

    https://www.google.com/https://www.yahoo.com/https://facebook.com/

    我要把这根线分成

    https://www.google.com/

    https://www.yahoo.com/

    https://facebook.com/

    我试过:

    String urls[] = firstHalf.split("/*");
    

    有可能吗?

    2 回复  |  直到 8 年前
        1
  •  2
  •   vb.stack    8 年前

    您也可以尝试:

        String test = "https://www.google.com/https://www.yahoo.com/https://facebook.com/";
    
        String[] urls = test.split("(?<!/)/(?!/)");
    
        for(String s:urls){
    
            System.out.println(s);
        }
    

    输出

    https://www.google.com https://www.yahoo.com https://facebook.com

        2
  •  6
  •   Tim Biegeleisen    8 年前

    我们可以试着在以下积极的方面进行拆分:

    (?=https?:)
    

    当一个新的 http https 出现协议。

    String input = "https://www.google.com/https://www.yahoo.com/https://facebook.com/";
    String[] urls = input.split("(?=https?:)");
    for (String url : urls) {
        System.out.println(url);
    }
    
    https://www.google.com/
    https://www.yahoo.com/
    https://facebook.com/
    

    Demo