2013-04-01 297 views
0

這種模式不斷給我錯誤,就好像它不退出雙引號。我試圖抓住「創」正則表達式匹配雙引號

string str = "<div type=\"book\" osisID=\"Gen\">"; 

Match m = Regex.Match(str, @"<div type=\"book\" osisID=\"(.*?)\">", RegexOptions.IgnoreCase); 

if (m.Success) {  
    Console.Write(m.Groups[1].Value); 
} 
+4

你真的* *要解析XML/HTML與正則表達式? – abatishchev

+0

我只需要一個標籤,名稱空間將一直在變化。 – user1898657

+0

它給你什麼「錯誤」? –

回答

3

使用XML解析機制來解析XML:

var doc = XDocument.Parse(xml) 
var root = doc.Root 
var osisId = root.Attribute("osisID").Value; 
3

在C#逐字字符串,你逃脫引號另一個引號,不得以反斜線:

@"<div type=""book"" osisID=""(.*?)"">" 
1

假設你有比你剛剛發佈的更復雜的HTML和已經閱讀this

string str = "<div type=\"book\" osisID=\"Gen\">"; 

var doc = new HtmlAgilityPack.HtmlDocument(); 
doc.LoadHtml(str); 
var osisID = doc.DocumentNode 
       .SelectSingleNode("//div[@type='book']") 
       .Attributes["osisID"] 
       .Value; 

PS:HtmlAgilityPack

相關問題