获取正则表达式匹配字符串中的句子

时间:2012-07-28 14:00:43

标签: c# .net regex windows

我想提取这个(“5013a27a-3e44d69d-4120-080027a10080”各不相同)

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

out of this(这是一个字符串):

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);

我哪里出错了?

2 个答案:

答案 0 :(得分:0)

试试这个正则表达式:

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

获取第1组的值。

答案 1 :(得分:0)

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

我相信这比搜索斜线更可靠。 \s匹配任何空格字符,它将处理“url”和值之间的空格。