0

有任何想法吗??

我在数百页中有此代码,我需要从所有这些页面中将其删除,但由于“var s”,其中每个页面都是不同的 4 位数字,我不能只进行查找和替换替换。如何在这四位数字上使用正则表达式创建 powershell 命令。

<script language="javascript" type="text/javascript"> 
var d = '<%=joindomain%>';
var s = '9244';
var a = '<%=Request.QueryString("aff") %>';
var c = '<%=Request.QueryString("camp") %>';
var r = '<%=referer %>';
</script>

谢谢你,里科

4

1 回答 1

0

不知道你在这里能有多一般......下面的代码可能比你要求的更多,如果是这样的话 - 只需添加更多的东西来消除歧义。无论如何,它为我完成了工作......;)

@'
foo
<script language="javascript" type="text/javascript"> 
var d = '<%=joindomain%>';
var s = '9244';
var a = '<%=Request.QueryString("aff") %>';
var c = '<%=Request.QueryString("camp") %>';
var r = '<%=referer %>';
</script>
bar
'@ -replace '<script language[\s\S]*?var s = ''\d{4}''[\s\S]*?</script>'

它将删除“”之间包含字符串“var s = '####'”(4位数字)的任何文本。请注意,我必须对正则表达式和单引号进行转义才能使其正常工作。在某些时候,如果您想非常具体,您可能会考虑方便地使用 [Regex]::Escape 方法......

于 2012-06-26T19:53:37.173 回答