匹配双引号的正则表达式

本文关键字:正则表达式 | 更新日期: 2023-09-27 18:07:01

这个模式一直给我错误,好像它没有退出双引号。我正试图抓取"Gen"

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

匹配双引号的正则表达式

使用XML解析机制解析XML:

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

在c#逐字字符串中,您可以使用另一个引号来转义引号,而不是使用反斜杠:

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

假设你有比刚刚发布的更复杂的html并且已经阅读了

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