2016-05-24 19 views
1

[regex] :: matchesを使用して文字列を解析しようとしています。私は言葉を分けることができますが、私は開け閉めの父と一緒に問題を抱えています。誰かが私を助けて、私が間違っていることを説明できますか?進んでいただきありがとうございます。"()"の間の文字列内の単語を検索

$results = "All domain controllers have migrated successfully to the Global state ('Start')." 


[regex]::Matches($results , "\w+['a-z']") | foreach-object {$_.value} 
+0

'[regex] :: Matches($ results、" \ w + [( '')] ")| {$ _。値} ' – Fidelis

+0

'[正規表現] ::一致($結果、' \ W + \ w + [( '')\ W + ')| foreach-object {$ _。value} ' – Fidelis

+1

' $ Results |についてはどうですか? ?{$ _ -match "\(([^)] *)"} | %{$ Matches [1]} '?それは '' Start''を出力します – TheMadTechnician

答えて

1

を動作するようになった方法です、"\('([^\)']*)'\)"は引用符なしで、('')間の単語を取得します。私は以下の-match演算子を使用します。結果は$matches[1]変数になります。

PS> $results = "All domain controllers have migrated successfully to the Global state ('Start')." 
PS> $results -match "\('([^\)']*)'\)" 
True 
PS> $matches[1] 
Start 
+0

素晴らしい!よくやった!これを達成するためにあなたがしたことを説明していただきありがとうございます。それは私にトンを助ける! – Fidelis

0

これを取得する方法はわかりました。他の人がもっと簡単な解決策を提供できるなら、私はすべての耳です。しかし今のところ、これは私はそれがTheMadTechnicianの正規表現@少しだけを微調整

([regex]::Matches($results , '\w+[('')^]') | foreach-object {$_.value }).replace("'", "")

関連する問題