我的powershell腳本似乎不能解析跨多行傳播的多個關鍵字之間的數據。 我想選擇NAME1之後的所有行直到NAME2..6出現。所有NAME1/& NAME2/3/4/5/6之間的數據。關鍵字NAME1多次出現在文件中,其他關鍵字也會出現。正則表達式然而工作,但我無法找出錯誤或我正在採取的方法,當我在PowerShell腳本中使用正則表達式。無法使用PowerShell在多個關鍵字之間獲取數據
(Get-Content .\withoutStar.txt | Where-Object {$_ -match '(?is)(?<=\NAME1\b).*?(?=\bNAME2\b|\bNAME3\b|NAME4|NAME5|NAME6\b)'}) | Set-Content .\AllfunctionGroup.txt
的樣品數據和正則表達式可以在這裏進行測試。 Sample data and regex
任何人都可以點亮這在我的腳本中缺少的東西。
我認爲,試圖匹配多個行可能更容易使用像for循環這樣的東西,所以你可以匹配一行,並不斷添加每行或匹配變量,直到你的代碼邏輯告訴它停止。 –
你想看到什麼樣的輸出? – ArcSet