比如有下面一段代码:
<a href="11"> <font color="21">aaa </font> </a>
<a href="12"> <font color="22">bbb </font> </a>
<a href="13">ccc </a>
<a href="14"> <font color="24">ddd </font> </a>
<a href="15"> <font color="25">eee </font> </a>
<a href="16">fff </a>
上面的代码意思是 <font color="***">和 </font>不一定有,而且color的值也可能不一样
我现在想得到
aaa
bbb
ccc
ddd
eee
fff
package test1;
import java.util.regex.*;
public class Test6
{
public static void main(String[] args)
{
String s="<a href="11"> <font color="21">aaa </font> </a> "
+"<a href="12"> <font color="22">bbb </font> </a> "
+"<a href="13">ccc </a> "
+"<a href="14"> <font color="23">ddd </font> </a>"
+"<a href="15"> <font color="25">eee </font> </a> "
+"<a href="16">fff </a> ";
String regex="<a.*?>(.*?)</a>";
Pattern pt=Pattern.compile(regex);
Matcher mt=pt.matcher(s);
while(mt.find())
{
System.out.println(mt.group(1).replaceAll("<font.*?>|</font>", "").trim());
}
}
}
使用非捕获组
package test1;
import java.util.regex.*;
public class Test6 ...{
public static void main(String[] args) ...{
String str = "<a href="11"> <font color="21">aaa </font> </a>" +
"<a href="12"> <font color="22">bbb </font> </a>" +
"<a href="13">ccc </a> " +
"<a href="14"> <font color="23">ddd </font> </a>" +
"<a href="15"> <font color="25">eee </font> </a> " +
"<a href="16">fff </a> ";
String regex = "<a.*?>(?:\s*<font[^>]*>)?(.*?)(?:</font>\s*)?</a>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while(matcher.find()) ...{
System.out.println(matcher.group(1));
}
}
}
分享到:
相关推荐
java通过正则表达式匹配获取MAC(支持windows和Linux)
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定...
正则表达式提取图片,通过正则表达式提取段落中的问题,便于排版和美观
正则表达式 实例
java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。
今天小编就为大家分享一篇java 正则表达式获取两个字符中间的字符串方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了Java正则表达式验证固定电话号码符合性的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
使用httpclient抓取页面信息时需要填写HOST,使用此正则提取抓取URL的HOST内容
主要介绍了Java基于正则表达式获取指定HTML标签指定属性值的方法,涉及java基于正则的HTML元素匹配相关操作技巧,需要的朋友可以参考下
今天在Java中想使用正则表达式来获取一段文本中的任意字符。于是很随意得就写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是...
2.java正则表达式匹配* 2个文件内容是:中文 英文,然后分别比较中文部分和英文部分,文件内容如下: 520香烟 520cigarette 678月 678yue A-zone A-zone A.O.史密斯 AOsms ACE床垫 ACE AOL时代华纳 Time Warner BMG...
最近工作中遇到了一个需求,需要利用java获取字符串中的数字,尝试几种方法后发现利用正则表达式实现最为方法,下面这篇文章就主要介绍了Java通过正则表达式获取字符串中数字的方法,文中给出了详细的示例代码,需要...
获取大括号小括号内容 项目开发用到了,暂做个简单记录 private static String regex = "\\{([^}]*)\\}";//匹配大括号 private static String regexx = "\\(([^}]*)\\)";//匹配小括号 public static void main...
早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。
主要介绍了Java使用正则表达式匹配获取链接地址的方法,简单分析了java正则匹配常用方法及获取网址链接的相关操作技巧,需要的朋友可以参考下
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
主要介绍了Java正则表达式(匹配、切割、替换、获取)等方法的相关资料,需要的朋友可以参考下
这是从我们公司的项目中抽取出来的一部分功能,也是我负责的前台部分。