Regex 如何更好地排除/调试Powershell

Regex 如何更好地排除/调试Powershell,regex,powershell,Regex,Powershell,编辑 我的正则表达式被关闭了,但是,我也有同样的问题,斯图尔 我能够粘贴大量输入,并使用上面的链接获得50个匹配项,但仍然无法让powershell标记匹配项 有关我的正则表达式和示例输入,请参见下面的链接 基本上我有一个文件夹和一堆子文件夹 我的脚本在每个子文件夹中进行分析,查找“results.nmap” 然后它打开文件(一个文本文件),我打算让它提取满足某些要求的数据 Get-ChildItem -LiteralPath "U:\nmap reports\Nmap Subnet

编辑

我的正则表达式被关闭了,但是,我也有同样的问题,斯图尔

我能够粘贴大量输入,并使用上面的链接获得50个匹配项,但仍然无法让powershell标记匹配项


有关我的正则表达式和示例输入,请参见下面的链接


基本上我有一个文件夹和一堆子文件夹

我的脚本在每个子文件夹中进行分析,查找“results.nmap”

然后它打开文件(一个文本文件),我打算让它提取满足某些要求的数据

Get-ChildItem -LiteralPath "U:\nmap reports\Nmap Subnet Scans\August2019" -Filter *.nmap -File -Recurse | foreach {

    $currentfolder = $_.Directory
    $RegX = [RegEx]'(?m)^Nmap scan report for\s+(?<Device>.+)\r?\n(?:.+\r?\n){3,6}23\/tcp\s+open\s+telnet$'
    $content = Get-Content -Path "$currentfolder\results.nmap" -Raw

    if ($content -match $RegX) { 
        Write-Host 'issa match'
    }

    #write-host $content

    #[regex]::Matches($content,$RegX).ForEach({ $_.Groups['Device'].Value })

}
这也不会产生结果,尽管逻辑上我不明白为什么不会

Write-Host $content
看起来和我上面提供的链接中的完全一样


我不是在寻找答案,更重要的是,我在寻找一种解决此问题的好方法,这样我可以更好地自学在ISE中,您可以使用调试器步进或设置断点,在调试提示下运行任意powershell命令,并将鼠标悬停在变量上以查看其当前值


您可以更改变量的值并继续运行。甚至写一个新函数。

Yaknow,我刚刚发现了ISE。我一直在使用记事本++进行编辑,每次只是运行我的脚本进行测试。。。。
Write-Host $content