Ich habe das folgende Code-Snippet, das von einer Webseite abgerufen wurde:
<li class="player" data-id="168568" data-teamid="156" data-x="142.33" data-y="297.16040000000004" data-name="Corentin Tolisso" data-position="3">Corentin Tolisso<span class="shirt">24</span></li>
Mein Ziel ist es, "Corentin Tolisso", die Trikotnummer "24" sowie die Werte von data-x und data-y zu extrahieren.
Bisher bin ich in der Lage, mit HTML Agility Pack mit Werten, die innerhalb von >...<
, zur Arbeit zu kommen.
Ich kann jedoch keine Möglichkeit finden, die Zahlen von Daten-x und Daten-y zu extrahieren.
Ich habe die HTML-Zeichenkette in eine neue jsfiddle kopiert, die genau ausgibt, was mein C # -Code bekommt, die Dinge zwischen >...<
.
Wie extrahiere ich die Werte von data-x und data-y?
Hinweis: Die Verwendung von " String.IndexOf
funktioniert String.IndexOf
, allerdings ist die Flexibilität eingeschränkt. Dies ist meine Rückfallstrategie.
Anmerkung 2: Ich habe hier und hier geschaut, die beide mir eine Idee geben, aber ich habe es immer noch schwer, sie auf C # anzuwenden.
Ein Weg wäre (["'])(?:(?=(\\?))\2.)*?\1
Er unterstützt auch verschachtelte Anführungszeichen
Versuchen Sie es mit diesem Link: https://regex101.com/r/cB0kB8/1
Mit JQuery ist es sehr einfach.
Überprüfen Sie auch ein Beispiel, das Sie hier finden: Wert der HTML-Texteingabe erhalten
<form name="input" action="handle_email.php" method="post">
Email: <input type="text" name="email" />
<input type="submit" value="Newsletter" />
</form>
<a id="regLink" href="http://mywebsite.com/register?user_email=">Register</a>
$('input[name="email"]').change(function(){
alert($('#regLink').attr('href')+$('input[name="email"]').val());
});
Hoffe es hilft dir!