2014-11-08 6 views
-2

У меня есть этот тип строки:Извлечение строки между doublequotes

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) 

В конце концов, я Don `T получить что-нибудь. Не знаете, где ошибка.

ответ

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

Смежные вопросы