2
我編寫了一個PowerShell腳本來比較兩個文本文件。在file1中,數據是組織的。但是在file2中數據沒有組織。我通常手動組織數據。但是現在數據增加了。我需要使用PowerShell自動組織。從文本文件中讀取特定文本
PowerShell必須讀取兩個特殊字符之間的數據。例如:<****@
是我的數據。它只能讀取****
。這種模式重複'n'次。
我編寫了一個PowerShell腳本來比較兩個文本文件。在file1中,數據是組織的。但是在file2中數據沒有組織。我通常手動組織數據。但是現在數據增加了。我需要使用PowerShell自動組織。從文本文件中讀取特定文本
PowerShell必須讀取兩個特殊字符之間的數據。例如:<****@
是我的數據。它只能讀取****
。這種模式重複'n'次。
使用正則表達式<(.*?)@
來匹配相關的子字符串。 .*?
匹配<
和下一個出現的@
(非貪婪/最短匹配)之間的所有字符。括號將匹配放入捕獲組中,以便稍後可以引用它。
Select-String -Path 'C:\path\to\file2.txt' -Pattern '<(.*?)@' -AllMatches |
Select-Object -Expand Matches |
ForEach-Object { $_.Groups[1].Value }
$_.Groups[1]
指的是比賽中的第一個捕獲組。
在正則表達式中的錯字? ''<(。*?)q'' – sodawillow
@sodawillow感謝您的單挑。固定。 –