【发布时间】:2015-09-29 13:52:30
【问题描述】:
在 PowerShell 中,我尝试在 <script> 块上使用正则表达式,并尝试使用 jQuery 链接获取所有脚本标签的列表。所有变体,如
<script type="text/javascript" src="..." />
<script type="text/javascript" src="..."></script>
还有不同类型的引号,例如单引号或双引号。
当我匹配它时,我想将它们全部匹配(全局),然后打印出所有脚本标签(如上所示)。到目前为止我有这个:
if (($contents -match "src=(.*jquery.*\.js)") -eq $true) {
write-host "$($matches[1]) found at $($web.Url)/$url (CONTENTLINK)";
write-host "";
}
但它不能正常工作。我不认为它得到了所有的匹配,并且打印的部分比脚本标签更准确。我该怎么做?
注意:这是 PowerShell 1。
【问题讨论】:
-
您能否发布一个包含您想要匹配的所有标签的 HTML sn-p,然后向我们展示您真正想要的输出是什么,以及当前的输出是什么?你也说这不是powershell 2.0,那是哪个版本?
-
我还想指出,虽然我可能会尝试使用正则表达式来做到这一点,但我强烈建议您使用use an HTML parser instead, as I recommend in this answer。
-
我没有确切的 html sn-p,因为它从大约几百页收集它们。
-
另外,我怎样才能遍历所有匹配项?
-
您可以选择数百个文件中的任何一个。如果您无法提供要匹配的内容、MVCE 或当前代码的实际结果,那么您可能无法获得答案。
标签: regex powershell powershell-1.0