2016-08-10 2 views
-1

Ich möchte Regex verwenden, um etwas Text aus der Website HTML-Code extrahieren, die ich mit den Nodejs abgerufen habe. Und der Text, den ich erhielt, war wie folgt:Node.js mit regulären Ausdruck, um bestimmte Zeichenfolge aus der Antwort zu extrahieren

<body> 

... 

<p>text with certain format that I want.</p> 

... 

</body> 

Wie soll ich den Test extrahieren und in einer Variablen speichern?

Der Grund, warum ich dies tun, ist, weil ich die Informationen von zahlreichen Seiten abrufen muss, ist es unmöglich, es manuell zu tun.

Vielen Dank im Voraus!

+0

Suchen Sie nach einer bestimmten Zeichenfolge? Gibt es mehr als einen Absatz auf diesen Seiten? –

+0

Verwenden Sie [Cheerio] (https://github.com/cheeriojs/cheerio) - es ist eine serverseitige jQuery. Oder Sie könnten [YQL] (https://developer.yahoo.com/yql/) verwenden. – strah

+0

1) duplizieren 2) nicht tun 3) Link für beide http://StackOverflow.com/a/1732454/1178921 – deltree

Antwort

0

Wenn Sie nur nach der ersten Instanz eines Absatzes suchen, können Sie dies tun. Dadurch wird jedoch nur der Inhalt des ersten Absatzes abgerufen. Wenn Sie einen bestimmten Absatz möchten, müssen Sie diesen Absatz im Gegensatz zu jedem anderen im HTML-Code identifizieren.

Wenn Sie etwas genaueres suchen, müssen wir mehr darüber wissen, was Sie zu tun versuchen.

var regex = /<p>(.*)?<\/p>/, 
 
    html = [your html here], 
 
    results = regex.exec(html); 
 

 
console.log(results); // an array of matches

0
var text= '<p>text with certain format that I want.</p>'; 
jQuery('<div>' + text + '</div>').text(); 
+0

Während dieser Code die Frage beantworten kann, verbessert ein zusätzlicher Kontext, warum und/oder wie dieser Code die Frage beantwortet, seinen langfristigen Wert. Code-only-Antworten werden nicht empfohlen. – Ajean

+0

Mit diesem "Trick" können Sie Ihre Antwort von HTML-Tags, oder HTML-Entitäten, etc. reinigen – Laurianti

Verwandte Themen