我有这个HTML:
<table style="width: 128px;" border="0" cellspacing="0" cellpadding="0">
<colgroup span="1"><col span="2" width="64"></col></colgroup>
<tbody>
<tr height="20">
<td width="64" height="20"> </td>
<td class="xl65" dir="rtl" width="64"><strong></strong></td>
</tr>
<tr height="20">
<td class="xl67" dir="rtl" width="64" height="20"> </td>
<td class="xl66" dir="ltr" width="64">T3500 </td>
</tr>
<tr height="20">
<td class="xl68" width="64" height="20"> </td>
<td> </td>
</tr>
<tr height="20">
<td height="20"> </td>
<td class="xl65" dir="rtl" width="64"><strong></strong></td>
</tr>
<tr height="48">
<td class="xl67" dir="rtl" width="64" height="48"> </td>
<td class="xl66" dir="ltr" width="64">Intel® X58 Chipset </td>
</tr>
<tr height="33">
<td class="xl70" dir="rtl" width="64" height="33"> </td>
<td class="xl69" dir="ltr" width="64">10/100/1000 </td>
</tr>
<tr height="20">
<td class="xl68" width="64" height="20"> </td>
<td> </td>
</tr>
<tr height="20">
<td height="20"> </td>
<td class="xl65" dir="rtl" width="64"><strong></strong></td>
</tr>
<tr height="96">
<td class="xl67" dir="rtl" width="64" height="96"> </td>
<td class="xl66" dir="ltr" width="64">One Intel Xeon W3503(2.4GHz,4.8GT/s,4MB,DC) </td>
</tr>
<tr height="20">
<td class="xl68" width="64" height="20"> </td>
<td> </td>
</tr>
</tbody>
</table>
我想用任何东西替换所有样式,目录,高度,宽度和类别,以便将其删除
这是我为他们中的一些人尝试过的,它在一个在线测试器中工作但在notepad ++中不起作用
( class=\"([^\"]*)\"){0,} (width=\"([^\"]*)\"){0,} (height=\"([^\"]*)\"){0,}
答案 0 :(得分:5)
尝试
\s*(?:style|dir|height|width|class)\s*=\s*"[^"]*"\s*
当然,这会删除style="hello"
之类的文字,无论它们出现在哪里,也可以在标签之外删除。
可能是Notepad ++不支持\s
简写。尝试使用
[ ]*(?:style|dir|height|width|class) *= *"[^"]*" *
而是看看是否有效。开头的[ ]
可以替换为单个空格。
答案 1 :(得分:1)
这应该可以解决问题,至少对你的例子来说是这样的:
\ S *(式| DIR |高度|宽度|类别)= “[^”] +“\ S *