我正在寻找解决方案如何从另一个文件acc.txt(或acc.html)中删除pattern.txt中指定的文本。
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr>
<td style="border-bottom-color: #d0d0d0; border-bottom-style: solid; border-bottom-width: 1px; background-color: #eaeaea;"><!-- F1E896 -->
<font style="font-size: 13px;"><b>{.*(everything until meeting <blockquote>}
<blockquote>
{ .{1,5}? (any letters/space characters/tabs -size maximum 5)}
</blockquote>
</td>
</tr>
</table><br>
<br>
应忽略这些字符。我更喜欢使用提示。我知道在.html文件上工作并不是那么简单,如果我们只是将它保存为txt会有所不同吗?
编辑:可能适用于
<table {skip everything to first met}<blockquote>{max 5 letters}<blockquote>{skip everyhing to <br>
答案 0 :(得分:0)
将模式保存在文件中,例如: G。 “C:\ pattern.txt”:
(?<=<b>).*(?=<blockquote>)|(?<=<blockquote>).*(?=<\/blockquote>)
使用Get-Content cmdlet加载模式和文本文件,并将其替换为空字符串:
$content = (Get-Content 'c:\acc.txt' -raw)
$pattern = (Get-Content 'c:\pattern.txt' -raw)
[regex]::Replace($content, $pattern, '',`
[System.Text.RegularExpressions.RegexOptions]::Multiline `
-bor [System.Text.RegularExpressions.RegexOptions]::Singleline)
现在,您可以将输出通过管道传输到Out-File或Set-Content cmdlet。