这是我正在使用的示例文本。我正在使用Coda进行查找和替换......
<td width="20%"><div > Item #</div></td>
<td width="20%"><div > Pole Tip</div></td>
<td width="20%"><div > Length</div></td>
<td width="20%"><div > Test Weight (lbs.)</div></td>
<td width="20%"><div > Price</div></td>
我想摆脱标记td内文本的div标签。
Ex ...我想改变这个:
<td width="20%"><div > Item #</div></td>
到此:
<td width="20%">Item #</td>
到目前为止,我将此作为正则表达式:
<div >[\s\w\(\)#]*</div>
然而,这与我的示例文本中的所有上述内容相匹配:
<td width="20%"><div > Test Weight (lbs.)</div></td>
在我的正则表达式中,我甚至试图添加(和)......我做错了什么?
答案 0 :(得分:1)
在回复Andy时,我同意将良好形成的标记的数据解析保留在DOM导航工具中。 XML肯定,或HTML&gt; XML转换器是好的。我不知道Miles正在使用什么,但我经常使用格式错误的HTML以及Markup解析器无法解析的HTML。
在我的一些关于Document Parsing的Regex教程中,我讨论了Regex Trim模式,它只是零或更多空白{\ s *}。虽然你可能会回避它,因为它为Regex模式增加了一点点长度,但实际上几乎没有效率损失。那就是说......
(<td[^>]*>)\s*<div[^>]*>\s*((?:[^<]*(?(?!</div>\s*</td>)<))*)\s*</div>\s*(</td>)
将此替换为$ 1 $ 2 $ 3,您获胜,并获得干净的结果。当然,您可以根据需要替换或删除任意数量的Trims(\ s *),如果我正在解析文档或格式错误的标记,则只需个人偏好。
答案 1 :(得分:0)
那是因为你错过了.
这很好用
<div >[\s\w\(\)#.]*</div>