更新时间:2022-01-11 10:06:08 来源:极悦 浏览827次
大家在Java学习中会学到很多知识,正则表达式就是其中之一,正则表达式在处理字符串的时候,效率很高。但是需要熟练掌握,否则容易造成失误。
1.小括号的妙用 ()
如下字符串
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#f5fafe" class="blue_border">
<tr>
<td align="center" style="padding-top:15px" mce_style="padding-top:15px"><H1>11月2日国内一铵市场行情暂稳</H1>
</span></td>
</tr>
这些字符是从页面中提取,如果需要提取出<H1>和</H1>间的内容,可以写成
patternstring = "(<H1>)((.|/n)*)(</H1>)";
此处(.|/n)*是为了匹配所有字符和换行符。不能使用[.|/n]*,是因为.符号在[]就仅表示.的含义,没有匹配除换行符外所有字符的含义了,即已经被转义了,等同于/.。
2.中括号的妙用[]
如下字符串
<table width="93%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="black14" id="maintext" style="line-height:180%; color:#000000; padding-top:10px;" mce_style="line-height:180%; color:#000000; padding-top:10px;" ><p> 生意社11月2日讯 国内一铵市场行情暂稳,受复合肥价格上涨后实际销量有限、后市行情尚不明朗,复合肥企业原料采购十分谨慎,近日一铵销售速度放缓,经销商报价回落,目前江苏、安徽等地高端厂家报价也小幅下调,部分厂家报价虽不动、但成交略有优惠,当前出口关税政策尚不明朗,企业与经销商操作谨慎,大部分一铵厂家订单可执行到11月中旬,但近日硫酸价格大涨、磷矿石供应紧张,部分厂家被迫上调报价规避原料涨价的风险。由于市场走势仍不明朗,国内一铵市场价格暂稳。</p>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
同样是 HTML页面的内容,需要提取<td>标签为maintext间的数据。
可以写成
patternstring = "(id=/"maintext/" style=/"line-height:180%; color:#000000; padding-top:10px;/" >)((.|/n|^</)*)[</td>]";
这里同样考虑了由于数据中存在换行的可能。同时,使用[</td>]而不使用(</td>)是考虑到存在的转义问题,这里需要的是等同的字符,所以使用了[]。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习