[英]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.