简体   繁体   中英

Powershell regex.match() metacharacters

$reg = [regex]"\bobject-group\b network Gateways[\s\S]*?(?=\nobject-group\b)"

This is my content to select

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

My expression works fine on Regex Tester, but migrating over the Powershell I just can't figure out what meta characters are wrong, but I get no results. Any help would be amazing? : )

The data is taken from a file. and stored in a file. The wanted outcome is....

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

Works for me using the code that you posted. I'm in PowerShell 4.0, here's what I did:

$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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM