我正在尝试使用[regex] :: matches解析字符串。我能够分开这些话,但我在开放和关闭的情况下遇到了麻烦。有人可以帮我解释我做错了什么吗?先谢谢你。
$results = "All domain controllers have migrated successfully to the Global state ('Start')."
[regex]::Matches($results , "\w+['a-z']") | foreach-object {$_.value}
答案 0 :(得分:1)
稍微调整@ TheMadTechnician的正则表达式,"\('([^\)']*)'\)"
将在('
和')
之间得到单词,不带引号。我使用下面的-match
运算符。您想要的结果将在$matches[1]
变量中。
PS> $results = "All domain controllers have migrated successfully to the Global state ('Start')."
PS> $results -match "\('([^\)']*)'\)"
True
PS> $matches[1]
Start
答案 1 :(得分:0)
所以,这是我弄清楚如何获得这个的唯一方法。如果其他人能够提供更简单的解决方案,我全都耳朵。但就目前而言,这是我开始工作的方式
([regex]::Matches($results , '\w+[('')^]' ) | foreach-object {$_.value }).replace("'", "")