2012-07-28 43 views
0

我有一個正則表達式應該*皮卡後的字符串:正則表達式拿起一個匹配,但沒有看到另一個

輸入字符串:

Vmid  Name        File       Guest OS  Version Annotation 
3  TinyCore Linux [datastore1] TinyCore Linux/TinyCore Linux.vmx otherLinuxGuest vmx-08 
4  Debain6   [datastore1] Debain6/Debain6.vmx     ubuntu64Guest  vmx-08 

正則表達式:

[]][ A-Za-z /.]+.vmx [ ] 

正則表達式匹配字符串的下列部分:

] TinyCore Linux/TinyCore Linux.vmx 

但也應符合:

] Debain6/Debain6.vmx 

我的代碼如下:

private void regexTest_Click(object sender, EventArgs e) 
{ 
    Regex regex = new Regex("[]][ A-Za-z /.]+.vmx [ ]"); 
    MatchCollection match = regex.Matches(input); 

    foreach (Match matchvalue in match) 
    { 
     MessageBox.Show(matchvalue.ToString()); 
    } 

回答

2

你失去了數字\d

您正則表達式:[]][\dA-Za-z /.]+.vmx [ ]

和我的升級\][\dA-Za-z\s/.]+\.vmx

0

嘗試使用類似的東西,下面的表達式將之間的每一個字符類型匹配]和.VMX

\](.+?)\.vmx 

或圖案像] [文字]/[文字]的.vmx嘗試

\](.+)?\/(.+?)\.vmx 

或一般()與特定的匹配字符替換

\]([a-z0-9A-Z-_\s\/]+)?\.vmx 

可以很容易地通過http://gskinner.com/RegExr/

測試正則表達式輸出

enter image description here

+0

您正則表達式匹配'] TinyCore的Linux/TinyCore Linux.vmx otherLinuxGuest vmx' – 2012-07-28 13:00:17

+0

可能是你用'] TinyCore的Linux/TinyCore Linux.vmx'測試?與完整字符串你的正則表達式不工作 – 2012-07-28 13:10:21

+0

明確檢查 - 不起作用,共享鏈接不起作用 – 2012-07-28 13:19:28

相關問題