2017-01-02 6 views
-1

Ich habe den folgenden JavaScript-Code-Snippet bekam:Javascript - RegexMuster

var regex1 = new RegExp('\\d+'); 
var text = "3434 f dfgf df5z6 ddf 22"; 
var result = text.match(regex1); 

In diesem Beispiel habe ich alle Zahlen wollen. Aber das Problem ist, nur die erste Nummer ist gespeichert. result[0]=3434 und der Rest von result ist leer. Wo ist mein Fehler?

Thx.

+0

Verwenden 'var regex1 =/\ d +/G'. Oder wenn Sie einen RegExp-Konstruktor verwenden müssen: 'var regex1 = new RegExp (" \\ d + "," g ")'. –

Antwort

0

Verwenden regulären Ausdruck mit Global-Flag

var regex1 = new RegExp('\\d+', 'g'); 
 
// or 
 
// var regex1 = /\d+/g; 
 
var text = "3434 f dfgf df5z6 ddf 22"; 
 
var result = text.match(regex1); 
 

 
console.log(result);

+0

Sehr seltsam, ich habe es mit dieser Flagge versucht. Offensichtlich gab es einen weiteren Fehler. Vielen Dank! – CyKon