- 浏览: 210751 次
- 性别:
- 来自: 北京
文章分类
public static void main(String[] args) {
String regex = "<p style=\"TEXT-INDENT: 2em\">(.*?)</p>";
String html = "<p style=\"TEXT-INDENT: 2em\">ttt</p>yyyyyfafdasf<p style=\"TEXT-INDENT: 2em\">bbb</p>";
Pattern pattern = Pattern.compile(regex);
Matcher match = pattern.matcher(html);
StringBuffer buffer = new StringBuffer();
while(match.find()){
buffer.append(match.group(1));
buffer.append("\n");
}
System.out.println(buffer.toString());
}
说明:想要抓取网页中想要的文本,而每段文本都是存放在<p style=\"TEXT-INDENT: 2em\">开头和</p>结尾的标签中,所以我们想要的获取的是ttt和bbb,(.*?)表示一个分组,并且使用的是非贪婪的模式,即获取最小的匹配内容,match.find()返回的是是否找到匹配的内容,match.group(1)表示取出其中的文本内容
String regex = "<p style=\"TEXT-INDENT: 2em\">(.*?)</p>";
String html = "<p style=\"TEXT-INDENT: 2em\">ttt</p>yyyyyfafdasf<p style=\"TEXT-INDENT: 2em\">bbb</p>";
Pattern pattern = Pattern.compile(regex);
Matcher match = pattern.matcher(html);
StringBuffer buffer = new StringBuffer();
while(match.find()){
buffer.append(match.group(1));
buffer.append("\n");
}
System.out.println(buffer.toString());
}
说明:想要抓取网页中想要的文本,而每段文本都是存放在<p style=\"TEXT-INDENT: 2em\">开头和</p>结尾的标签中,所以我们想要的获取的是ttt和bbb,(.*?)表示一个分组,并且使用的是非贪婪的模式,即获取最小的匹配内容,match.find()返回的是是否找到匹配的内容,match.group(1)表示取出其中的文本内容
发表评论
-
JVM启动时指定-Dfile.encoding="UTF8"的作用
2013-10-17 13:50 2266简单来说就是指定JVM默认的编码方式 java io中很多方法 ... -
java多线程 小记
2012-04-15 14:49 0thread join的方法 http://blog.csdn ... -
浅析多线程
2012-04-08 22:35 0线程组 线程是被 ... -
多线程意外中断处理
2012-04-08 20:54 0本文转自:http://peirenlei.iteye.com ... -
多线程项目学习
2012-04-08 20:35 0线程组的作用: ThreadGroup类中的某些方法,可以对线 ... -
java 静态成员变量的内存分配
2012-04-06 10:28 0静态成员变量是属于类变量,即当JVM加载class文件到虚拟机 ... -
深度克隆与浅克隆
2012-04-05 16:31 1106要想实现某个对象的克隆需要该对象实现java.lang.Clo ... -
修改图片大小并添加水印
2012-03-29 13:47 1256import java.awt.*; import java. ... -
JVM的内存分配
2012-03-16 10:06 0Java里的堆(heap)栈(stack)和方法区(metho ... -
HashMap添加数据的过程
2012-03-14 22:18 7065当添加的元素的key为null ... -
几种classloader的加载范围
2012-02-28 12:43 1302Bootstrap class loader:最顶级的clas ... -
标准的URLConnection请求
2012-01-13 16:39 0只写了主要的代码 URL url = new URL(urlS ... -
常用的ClassLoader的加载范围
2012-01-13 13:53 1383WebAppClassLoader装载器装作文件的范围: 会加 ... -
ClassLoader.getSystemClassLoader().loadClass()和Class.forName()的区别
2012-01-13 13:08 0class A { static { System.ou ... -
httpClient超时解决办法
2012-01-12 16:47 0DefaultHttpClient: 请求超时 httpcli ... -
项目中的使用技巧小记
2012-01-10 21:11 570实现数据在多线程之间的共享: 因为线程的成员变量是各个该线程实 ... -
ThreadLocal
2012-01-10 08:55 1398ThreadLocal是实现线程范围内的数据共享,即不同线程获 ... -
线程加锁优化
2012-01-08 13:19 0实际上,在某些classes中,这种instance方法的同步 ... -
实现多线程使用继承Thread类和Runnable的原因
2012-01-03 15:09 1369我们都知道实现多线程的两种方式,一种是继承Thread类,另一 ... -
一个简单的socket编程实例
2011-12-28 10:50 1597转正于http://www.cnblogs.com/linzh ...
相关推荐
实例110 通过正则表达式对字符串进行匹配查找 141 实例111 通过IP地址查找主机所在地 142 实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用...
实例110 通过正则表达式对字符串进行匹配查找 141 实例111 通过IP地址查找主机所在地 142 实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用...
121 <br>0200 如何使用正则表达式验证电话号码 121 <br>0201 如何使用正则表达式验证输入密码条件 121 <br>0202 如何使用正则表达式验证邮政编号 121 <br>0203 如何使用正则表达式验证手机号 ...
17.3 使用字符串的正则表达式方法 17.3.1 match()方法 17.3.2 search()方法 17.3.3 replace()方法 17.3.4 split()方法 17.4 获取控制——元字符 17.4.1 点元字符 17.4.2 字符...
实例215 显示数据表中的重复记录和记录条数 335 8.8 排序、分组统计 336 实例216 对数据进行降序查询 336 实例217 对数据进行多条件排序 337 实例218 对统计结果进行排序 338 实例219 单列数据分组统计 ...
9、改善“网页_访问”中最后一个参数(代理地址)为“”符号时无法访问网页,感谢易友【z00544】反馈。 精易模块 V3.82 what’s new:(20140816) 1、修复“时间_取现行时间戳”有时不能正常返回13位时间戳,当...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
3.6.5正则表达式匹配验证控件 59 3.7自定义验证控件 62 3.8验证总结控件 64 第四章:ASP.NET内置对象 67 4.1内置对象概述 67 4.2 Response对象和Request对象 67 4.2.1 Response对象的功能,常用属性和方法和示例 67 ...
说明:允许为某个相同快捷键值重复添加多个响应代码 备注:1.0.0 beta2新添加 delShortcuts:删除快捷键 参数1:快捷键值,例:'ctrl+enter' 备注:1.0.0 Final新添加 exec:立即执行按钮及插件 参数1:工具按钮...
上面的代码中的逻辑表达式用括号括起来主要是因为里面有>符号,由于FreeMarker会将>符号当成标签的结束字符,可能导致程序出错,为了避免这种情况,我们应该在凡是出现这些符号的地方都使用括号. Pythons are ...