Java中对多行内容的正则匹配

------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" οnclick="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:


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值