können Sie ein Muster wie folgt verwenden:
href=(["'])(.*?)\1
diese beliebige Zeichenfolge davon durch eine von einer "
oder '
gefolgt href=
enthält gefolgt übereinstimmen Anzahl der Zeichen (nicht gierig) gefolgt von demselben Zeichen, das zuvor in Gruppe 1 gefunden wurde. Beachten Sie, dass \1
ein backreference ist.
Beachten Sie auch, dass dies auch den Inhalt Ihres Attribut bedeuten wird als Gruppe in der Gruppe 2 nicht erfasst werden 1.
nun der richtige Weg, um dieses string literal zu entkommen wäre entweder wie folgt aus (reguläre Strings) :
Regex.Match(value, "href=([\"'])(.*?)\\1", RegexOptions.Singleline);
Oder wie folgt aus (wörtlich Strings):
Regex.Match(value, @"href=([""'])(.*?)\1", RegexOptions.Singleline);
Check [diese Frage] (http://stackoverflow.com/questions/30659022/regex-for-extract- url-from-string-failed-wenn-string-enthält-mehrere-double-quo). Die Regex in der Frage sollte für Sie arbeiten. –
Möchten Sie gezielt nur href = 'foobar' auswählen? –
Wenn Sie einen href-Link aus HTML auslesen möchten, lesen Sie den [Schnipsel hier] (http://stackoverflow.com/questions/30629793/c-sharp-regular-expression-for-finding-links-in-a- with-specific-ending) zeigt, wie Sie das mit HtmlAgilityPack tun können. –