繁体   English   中英

Java-给定字符串的正则表达式

[英]Java - Regex for the given string

我有以下html代码段:

        <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>

借助Java正则表达式。

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

这应该为您提供一个不错的起点:

    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 + "]");
    }

打印结果( 如ideone.com所示 ):

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

这使用String[] String.split(String regex) 正则表达式模式是“ <br>一个或多个,带有前导或尾随空格。


番石榴替代品

您也可以使用Guava的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>]

相关问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM