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

给定字符串的Java-Regex

  •  1
  • Amit  · 技术社区  · 14 年前

            <br>
            Date: 2010-06-20,  1:37AM PDT<br>
            <br>
            Daddy: <a href="...">www.google.com</a>
            <br>
    

    Date: 2010-06-20, 1:37AM PDT

    Daddy: <a href="...">www.google.com</a>

    那么我应该用什么正则表达式呢?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community Egal    7 年前

    这应该给你一个很好的起点:

        String text = 
        "        <br>\n" +
        "        Date: 2010-06-20,  1:37AM PDT<br>   \n" +
        "   <br>    \n" +
        "Daddy: <a href=\"...\">www.google.com</a>   \n" +
        "<br>";
    
        String[] parts = text.split("(?:\\s*<br>\\s*)+");
        for (String part : parts) {
            System.out.println("[" + part + "]");
        }
    

    这个指纹( as seen on ideone.com ):

    []
    [Date: 2010-06-20,  1:37AM PDT]
    [Daddy: <a href="...">www.google.com</a>]
    

    String[] String.split(String regex) . 正则表达式模式是“一个或多个 <br> ,前面或后面有空格。


    番石榴替代品

    你也可以使用 Splitter 来自番石榴。它实际上更具可读性,而且可以 omitEmptyStrings() .

        Splitter splitter = Splitter.on("<br>").trimResults().omitEmptyStrings();
        for (String part : splitter.split(text)) {
            System.out.println("[" + part + "]");
        }
    

    这张照片:

    [Date: 2010-06-20,  1:37AM PDT]
    [Daddy: <a href="...">www.google.com</a>]
    

    相关问题