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