2015-01-07 31 views
0

我想正則表達式匹配下面的字符串中的名稱:正則表達式匹配字符串Powershell的

$strText = "some text, 'Frances , David', some text, 'Foljevic, Laura M', some text, Holjevic, Louis, some text, 'Staples, Cheri L', some text" 

的名稱必須與單引號(')結束 可以有可選的空間之前和之後逗號(,) 可以有第一個,最後一個和中間名。

我試圖匹配以下模式:'\w*(\s*)?, \w*(\s*\w*)?'但它在中間名的情況下失敗。

回答

2

是否這樣?

$strText = "some text, 'Frances , David', some text, 'Foljevic, Laura M', some text, Holjevic, Louis, some text, 'Staples, Cheri L', some text" 

    $result = 
    [regex]::Matches($strText,"'(.+?)'") | 
    foreach {$_.groups[1].value} 

    $result 

    Frances , David 
    Foljevic, Laura M 
    Staples, Cheri L 
+0

嗨mjolinor, 我可以添加輸出字符串像一些集合$結果= @()? – user3835927

+0

查看更新的答案。 – mjolinor

相關問題