在双引号之间提取字符串

时间:2014-11-08 01:51:16

标签: regex vb.net visual-studio-2010

我有这种类型的字符串:

var request = "http://learning.com/";

我只想提取http://learning.com/,下面是我使用的代码:

Dim m As Match = Regex.Match(sourcecode, "var request = """"([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\,]*)?""", RegexOptions.IgnoreCase)

最后我什么也得不到。不确定错误在哪里。

1 个答案:

答案 0 :(得分:2)

您的主要问题是您尝试在字符类中使用量词,而不是使用量词[\w.]+正确地在类之前。我只是使用一个否定的类而不是那个可怕的正则表达式。

Dim s as String = "some sourcecode here .... var request = ""http://learning.com/"""
Dim m As Match = Regex.Match(s, "var request = ""([^""]+)""")
If (m.Success) Then
    Console.WriteLine(m.Groups(1).Value)
End If

Ideone Demo