更新時間:2022-01-11 10:06:08 來源:動力節點 瀏覽1105次
大家在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天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習