正则表达式从字符串获取url集合

时间:2012-06-19 13:00:10

标签: c# regex

我有一个字符串。下面给出了一个例子。

  [playlist]\r\npath1=url1\r\npath2=url2\r\npath=url3\r\npath4=url4\r\ncount=1

如何从上面的字符串中提取路径属性值。除路径属性外,可能还有许多属性。

我期待的结果是

url1

url2

url3

url4

我认为正则表达最好这样做。任何关于Rgular表达式的想法(正则表达式)都需要。如何使用string.split方法..哪一个有效? ..

提前致谢

1 个答案:

答案 0 :(得分:2)

嗯,这个正则表达式适用于您的特定示例:

path\d?=(.+?)\\r\\n

如果你的字符串中的\r\n字面上是字符\ r \ n,或者回车+新行,那么显而易见的是什么。上面的正则表达式完全匹配这些字符。如果您的文字实际上是这样的:

[playlist]
path1=url1
path2=url2
path=url3
path4=url4
count=1

然后这个正则表达式将起作用:

path\d?=(.+?)\n

快速举例说明如何在C#中使用它:

var str = @"[playlist]\r\npath1=url1\r\npath2=url2\r\npath=url3\r\npath4=url4\r\ncount=1";
var matches = Regex.Matches(str, @"path\d?=(.+?)\\r\\n");
foreach (Match match in matches)
{
    var path = match.Groups[1].Value;
    Console.WriteLine(path);
}