2016-10-29 2 views
1

In Javascript, wie bekomme ich die Länge der Regex-Übereinstimmung?In Javascript erhalten Sie die Länge des passenden regulären Ausdrucks

Zum Beispiel, wenn die Zeichenfolge

str = "/abc/hellothere/andmore/" 

Und die regexp ist

reg = new RegExp('/abc/[^/]*/'); 

Dann möchte ich 16, die Länge der

/abc/hellothere/ 
+0

Sind Sie sicher, dass Regex mit Ihrer Zeichenfolge übereinstimmt? – adeneo

+0

Ja, jetzt. Ein "/" an der Vorderseite von str hinzugefügt. – user984003

Antwort

5

Angenommen, Sie wollen tatsächlich Ihre regex passend zu Ihrer Beispieleingabe:

var str = '/abc/hellothere/andmore/'; 
 
var reg = new RegExp('/abc/[^/]*/'); 
 
var matches = str.match(reg); 
 

 
if (matches && matches.length) { 
 
    console.log(matches[0].length); 
 
}

Die erwartete Ausgabe 16 sein sollte.

Siehe String.prototype.match und RegExp.prototype.exec.

Verwandte Themen