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