2015-02-10 20 views
0
$reg = [regex]"\bobject-group\b network Gateways[\s\S]*?(?=\nobject-group\b)" 

這是我的內容選擇Powershell的regex.match()元字符

object-group network something 
network-object host blahblah 
network-object host blahblah 
network-object host blahblah 
network-object host blahblah 
object-group network Gateways 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
object-group network baller 
network-object host blahblah 
network-object host blahblah 
network-object host blahblah 

我的作品表達對正則表達式測試儀很好,但在遷移PowerShell的我無法弄清楚元字符錯了,但我沒有得到任何結果。任何幫助將是驚人的? :)

數據來自文件。並存儲在一個文件中。想要的結果是...

object-group network Gateways 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
    network-object blahblahbalh 
+0

如果你說你試圖匹配你的內容的哪些部分,這將更容易解密。是變量還是文件中的內容? – arco444 2015-02-10 17:13:45

+0

你是非常正確的....更新 - 它存儲在一個變量,並將匹配添加到帖子的底部。 – 2015-02-10 17:29:52

+0

這對我有用,如果我有一個在這裏字符串的數據。你的變量如何填充?它可能是一個字符串數組嗎?再一次,這再次工作一個單一的字符串。如果您正在使用'Get-Content',請考慮使用'-Raw'開關 – Matt 2015-02-10 17:38:37

回答

0

適用於我使用您發佈的代碼。我在PowerShell 4.0中,這是我所做的:

$reg = [regex]"\bobject-group\b network Gateways[\s\S]*?(?=\nobject-group\b)" 
$str = @" 
object-group network something 
network-object host blahblah 
network-object host blahblah 
network-object host blahblah 
network-object host blahblah 
object-group network Gateways 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
object-group network baller 
network-object host blahblah 
network-object host blahblah 
network-object host blahblah 
"@ 

> $($reg.Match($str)).Value 
object-group network Gateways 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh 
network-object blahblahbalh