难以获得sed搜索并替换使用html文件。sed替换html
我有一个看起来像这样多个部分:
<TABLE class="cattable">
<TBODY>
<TR>
<TH colspan="2">Header</TH></TR>
<TR>
<TD>Random Amount of Data</TD>
<TD>3</TD></TR>
<TR>
<TD>Moar Data</TD>
<TD>3</TD></TR>
<TR>
<TD>Yup, More</TD>
<TD>4</TD></TR></TBODY></TABLE>
我需要:与xxxxFOOxxxx
取代:
<TABLE class="cattable">
<TBODY>
<TR>
<TH colspan="2">
保持这样的:
Header
更换这与yyyy FOOyyyy:
</TH></TR>
保持这样的:
<TR>
<TD>Random Amount of Data</TD>
<TD>3</TD></TR>
<TR>
<TD>Moar Data</TD>
<TD>3</TD></TR>
<TR>
<TD>Yup, More</TD>
<TD>4</TD></TR>
与替换此zzzzFOOzzzz:
</TBODY></TABLE>
继承人什么我试着在vim,但不能限制贪婪*正确:
s:\(<TABLE class="cattable">\_s\s*<TBODY>\_s\s*<TR>\_s\s*<TH colspan="2">\)\(.*\)\(<\/TH><\/TR>\)\(\_.*[^<]*\)\(<\/TABLE>\):xxxxFOOxxxx\2yyyyFOOyyyy\4zzzzFOOzzz<br>:g
tia
正则表达式不是此任务工具的好选择。另外,vim不使用标准的lazy/greedy正则表达式语法。 – jahroy 2013-03-20 17:43:17
使用许多好的perl包之一来处理xml。否则,如果你坚持使用正则表达式,请参阅http://stackoverflow.com/a/1732454/1841533 ^^ – 2013-03-20 19:30:06