2012-07-28 67 views
0

我想提取此( 「5013a27a-3e44d69d-4120-080027a10080」 而異)匹配句獲得一個正則表達式中的字符串

/vmfs/volumes/5013a27a-3e44d69d-4120-080027a10080 

出來的(這是一個字符串):

name     datastore1 
url     /vmfs/volumes/5013a27a-3e44d69d-4120-080027a10080 
capacity    123480309760 
freeSpace   96355745792 
accessible   1 
type     VMFS 
multipleHostAccess <unset> 

所以我也做了以下內容,但它不工作:

Regex regex = new Regex(@"[/][A-Za-z0-9/-][/] [ ]"); 
MatchCollection match = regex.Matches(input); 

我在哪裏出了錯?

+0

幾乎無處不在:)該正則表達式將匹配'/ p /',而不是其他的。 – Ryan 2012-07-28 14:03:31

+0

[Espresso](http://www.ultrapico.com/Expresso.htm)有人嗎? :) – Darek 2012-07-28 14:34:31

回答

0

試試這個正則表達式:

@"/([A-Za-z0-9/-]+)" 

獲取組1

+0

謝謝,但它本身意味着什麼? – user1559618 2012-07-28 14:07:24

+0

@ user1559618:它不是自己的。這意味着「匹配一個或多個先前項目」。因此,字面上的斜線,後面跟着一個包含一個或多個字母,數字或短劃線的組。 – Ryan 2012-07-28 14:09:46

0
string url = Regex.Match(text, @"url\s+(.+)").Groups[1].Value; 

的價值,我相信這是更可靠然後搜索斜槓。 \s匹配任何空白字符,這將處理「url」和值之間的空白。

相關問題