Java中对多行内容的正则匹配
来源:互联网 发布:网络摄像头网址 编辑:程序博客网 时间:2024/06/05 20:31
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
执行结果:
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
要想对多行内容进行匹配,可以用到Pattern类的常量MULTILINE
下面的HTML源码是要匹配的内容
<html lang="zh-CN"><head><title>学籍查询</title><meta http-equiv="Content-Type" content="text/html; charset=GBK"><link href="/css/newcss/project.css" rel="stylesheet" type="text/css"></head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="overflow:auto;"><link href="/css/newcss/project.css" rel="stylesheet" type="text/css"><script type="text/javascript"></script><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="overflow:auto;"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" > <tr> <td class="Linetop"></td> </tr></table><table width="100%" border="0" cellpadding="0" cellspacing="0" class="title" id="tblHead"><tr><td width="50%" ><table border="0" align="left" cellpadding="0" cellspacing="0" ><tr><td> </td><td valign="middle"> <b>学籍信息</b> </td></tr></table></td><td width="50%" ><table border="0" align="left" cellpadding="0" cellspacing="0" width="100%" ><tr><td> </td><td width="3"> </td> <td width="10" align="center"><img src="/img/icon/edit.gif" id="kctzcx" border="0" title="个人学籍信息修改" style="cursor:hand"onClick="location='/xjInfoAction.do?oper=xgXsxjxxInfo'"> </td> </tr></table></td></tr></table><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" > <tr> <td class="Linetop"></td> </tr></table><table width="100%" border="0" cellpadding="0" cellspacing="0" class="fieldsettop"><tr> <td> <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr class="infoBg2"> <td class="infoBg1"> </td><td><table border="0" cellpadding="0" cellspacing="0"><tr> <td class="legend">基本信息</td></tr></table></td><td class="infoBg3"> </td></tr><tr> <td class="infoBg4"> </td><td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="titleTop3"><tr> <td><table border="0" cellspacing="0" cellpadding="0" id="tblView"><tr><td class="fieldName" width="180">学号: </td><td width="275">201312341123</td><td class="fieldName" width="180">姓名: </td><td width="275"> 疯雪 </td><td class="fieldName" width="150"></td><td width="13%" rowspan="8" valign="top" align="right"><div align="right"> <img src="xjInfoAction.do?oper=img" width="92" height="120"> </div></td></tr><tr> <td class="fieldName" width="180">姓名拼音: </td><td align="left" width="275"> </td><td class="fieldName" width="180">英文姓名: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">曾用名: </td><td align="left" width="275"> </td><td class="fieldName" width="180">身份证号: </td><td align="left" width="275"> 123456789012345678</td><tr> <td class="fieldName" width="180">性别: </td><td align="left" width="275"> 男</td><td class="fieldName" width="180">学生类别: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">特殊学生类型: </td><td align="left" width="275"> </td><td class="fieldName" width="180">学籍状态: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">收费类别: </td><td align="left" width="275"> </td><td class="fieldName" width="180">民族: </td><td align="left" width="275"> 汉族</td><tr> <td class="fieldName" width="180">籍贯: </td><td align="left" width="275"> 地球</td><td class="fieldName" width="180">出生日期: </td><td align="left" width="275"> 2015-07-20</td><tr> <td class="fieldName" width="180">政治面貌: </td><td align="left" width="275"> 共青团员</td><td class="fieldName" width="180">考区: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">毕业中学: </td><td align="left" width="275"> </td><td class="fieldName" width="180">高考总分: </td><td align="left" width="275"> 999.0</td><tr> <td class="fieldName" width="180">录取号: </td><td align="left" width="275"> </td><td class="fieldName" width="180">高考考生号: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">入学考试语种: </td><td align="left" width="275"> </td><td class="fieldName" width="180">通讯地址: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">邮编: </td><td align="left" width="275"> </td><td class="fieldName" width="180">家长信息: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">入学日期: </td><td align="left" width="275"> 2015-07-20</td><td class="fieldName" width="180">系所: </td><td align="left" width="275">某某学校</td><tr> <td class="fieldName" width="180">专业: </td><td align="left" width="275"> 厕所管理</td><td class="fieldName" width="180">专业方向: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">年级: </td><td align="left" width="275"> 2013级</td><td class="fieldName" width="180">班级: </td><td align="left" width="275"> 13q厕所1</td><tr> <td class="fieldName" width="180">是否有学籍: </td><td align="left" width="275"> 是</td><td class="fieldName" width="180">是否有国家学籍: </td><td align="left" width="275"> 是</td><tr> <td class="fieldName" width="180">校区: </td><td align="left" width="275"> 某某校区</td><td class="fieldName" width="180">异动否: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">外语语种: </td><td align="left" width="275"> </td><td class="fieldName" width="180">宿舍地址: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">因材施教: </td><td align="left" width="275"> </td><td class="fieldName" width="180">培养层次: </td><td align="left" width="275"> 本科生</td><tr> <td class="fieldName" width="180">培养方式: </td><td align="left" width="275"> </td><td class="fieldName" width="180">分流方向: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">是否离校: </td><td align="left" width="275"> </td><td class="fieldName" width="180">备注: </td><td align="left" width="275"> 我是备注</td><tr> <td class="fieldName" width="180">备注1: </td><td align="left" width="275"> 我是备注1</td><td class="fieldName" width="180">备注2: </td><td align="left" width="275"> </td><tr> <td class="fieldName" width="180">备注3: </td><td align="left" width="275"> </td></tr><tr><td height="3"></td></tr></table></td></tr></table></td><td class="infoBg5"> </td></tr><tr class="infoBg2"> <td class="infoBg6"> </td><td class="infoBg2"> </td><td class="infoBg8"> </td></tr></table><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr class="infoBg2"> <td class="infoBg1"> </td><td><table border="0" cellpadding="0" cellspacing="0"><tr> <td class="legend">个人培养方案</td></tr></table></td><td class="infoBg3"> </td></tr><tr> <td class="infoBg4"> </td><td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="titleTop3"><tr> <td><table border="0" cellspacing="0" cellpadding="0" id="tblView"><tr> <td> <a style="text-decoration: underline" onclick="window.open('jhFakzsViewAction.do?fajhh=10049&type=fa', '', 'width=800,height=600,resizable=1,scrollbars=1');" href="#"> 2013级工商管理培养方案 </a> </td> </tr><tr><td height="3"></td></tr></table></td></tr></table></td><td class="infoBg5"> </td></tr><tr class="infoBg2"> <td class="infoBg6"> </td><td class="infoBg2"> </td><td class="infoBg8"> </td></tr></table> </td> </tr></table></body></body></html>网页形式如下图
我们要获取的内容是 表格体,也就是姓名:疯雪等信息
代码应该是这样的,其中正则表达式仅供参考
public static void regexInfo() throws Exception{BufferedReader bufr = new BufferedReader(new FileReader("C:\\Users\\Administrator\\Desktop\\学生信息.txt"));String line = null;StringBuilder sb = new StringBuilder();while((line=bufr.readLine())!=null){sb.append(line+"\r\n");//将HTML源代码原样存储到StringBuilder中}String regex = "\\s*<td\\s*.+>\\s*(.*):.*\\s*</td>\\s*<td\\s*.+>\\s*(.*)\\s*</td>";//匹配基础信息Pattern p = Pattern.compile(regex,Pattern.MULTILINE);//指定多行模式Matcher m = p.matcher(sb.toString());while(m.find())System.out.println(m.group(1)+":"+m.group(2));//输出匹配到的结果}
执行结果:
学号:201312341123姓名:疯雪姓名拼音:英文姓名:曾用名:身份证号:123456789012345678性别:男学生类别:特殊学生类型:学籍状态:收费类别:民族:汉族籍贯:地球出生日期:2015-07-20政治面貌:共青团员考区:毕业中学:高考总分:999.0录取号:高考考生号:入学考试语种:通讯地址:邮编:家长信息:入学日期:2015-07-20系所:某某学校专业:厕所管理专业方向:年级:2013级班级:13q厕所1是否有学籍:是是否有国家学籍:是校区:某某校区异动否:外语语种:宿舍地址:因材施教:培养层次:本科生培养方式:分流方向:是否离校:备注:我是备注备注1:我是备注1备注2:备注3:
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
0 0
- Java中对多行内容的正则匹配
- java正则表达式来替换文本中匹配正则的内容
- 关于java正则匹配返回匹配的内容
- qt 中使用正则表达式去除匹配到的内容
- 匹配form表单中所有内容的正则表达式
- 正则表达式匹配form表单中所有内容的例子
- 使用正则表达式匹配字符串中特定的xml内容
- java中正则匹配
- java如何用正则表达式获取匹配的内容
- java正则表达式匹配小括号内的内容
- Java正则匹配两个特定内容中间的部分
- java中匹配中文的正则表达式
- java中,正则的匹配和替换
- 正则表达式匹配中括号中内容
- Python中正则表达式对中文的匹配问题
- Python中正则表达式对中文的匹配问题
- Python中正则表达式对中文的匹配问题
- java正则表达式对一些特殊字符匹配的理解
- Java Error和Exception
- java过滤器和监听器详解
- android Activity之间数据传递 Parcelable和Serializable接口的使用
- 开始使用fedora22 作记录
- poj 3259 Wormholes (bellman)
- Java中对多行内容的正则匹配
- [数位dp] hihoCoder 1033 交错和
- Git教程
- Android系统UI设计之:Widget控件
- C语言04 -- 一维数组,字符串
- MySQL修改root密码的多种方法
- Java文件操作 file类层级显示目录
- credit risk 预测建模 - try 1
- PHP学习书籍记录