.net Powershell regex.match()元字符

.net Powershell regex.match()元字符,.net,regex,powershell,.net,Regex,Powershell,这是我要选择的内容 $reg = [regex]"\bobject-group\b network Gateways[\s\S]*?(?=\nobject-group\b)" 我的表达式在Regex Tester上运行良好,但在Powershell上迁移时,我无法找出哪些元字符是错误的,但我没有得到任何结果。任何帮助都会令人惊讶吗 数据取自一个文件。并存储在一个文件中。想要的结果是 object-group network something network-object host blah

这是我要选择的内容

$reg = [regex]"\bobject-group\b network Gateways[\s\S]*?(?=\nobject-group\b)"
我的表达式在Regex Tester上运行良好,但在Powershell上迁移时,我无法找出哪些元字符是错误的,但我没有得到任何结果。任何帮助都会令人惊讶吗

数据取自一个文件。并存储在一个文件中。想要的结果是

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 4.0中,以下是我所做的:

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

如果你说了你想要匹配的内容的哪一部分,这将更容易理解。内容是变量还是文件?你说得很对。。。。更新-它存储在一个变量中,匹配项被添加到文章的底部。如果我有一个here字符串中的数据,这对我有效。变量是如何填充的?可能是字符串数组吗?同样,这在单个字符串中再次起作用。如果您正在使用get内容,请考虑使用原始交换机。
$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