1
我有一些可能或不可能有換行符的單個字符串中的html。它可能是這個樣子:正則表達式獲取標籤前一個和下一個
<table><tr><th>blah1</th></tr><tr><input class="inputClass"><span>open<pfelclose/>pfelsingle'pfeldouble"pfel</span></input></tr></table>
很好的格式化的:
<table>
<tr>
<th>blah1</th>
</tr>
<tr>
<input class="inputClass">
<span>open<pfelclose/>pfelsingle'pfeldouble"pfel</span>
</input>
</tr>
</table>
我想搜索這個字符串
(open<pfel|close/>pfel|single'pfel|double"pfel)
而且還得到兩個開放標籤前後兩個親密之後的標籤。所以我想獲得這樣的:
<input class="inputClass"><span>open<pfelclose/>pfelsingle'pfeldouble"pfel</span></input>
我不能假設輸入或跨度會在那裏,我也不能假設有一定之前兩個標籤或後兩個標籤。
我的嘗試似乎總是拉弦的整個啓動:
.*[<]{0,2}?(open<pfel|close/>pfel|single'pfel|double"pfel)[/>]{0,2}?
永遠不要用正則表達式解析html。改用HTML解析器。 – alecxe
我很喜歡,但是我使用的所有html解析器都是單引號,雙引號和lt gt符號。 – tophersmith116
You _want_' "'成爲''',對嗎?如果沒有,只需在事後用'"'替換'''。 – Taymon