Ich gehe davon aus, Sie keinen direkten Zugriff auf die Stringliteral haben, in diesem Fall, dass Sie die source
Eigenschaft des Regex verwenden, um die Zeichenfolge Quelle
var regexp = new RegExp('[a-z]{2}');
var num = regexp.source.match(/\{(\d+)\}/)[1];
snippet.log('Number: ' + num)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
zu erhalten
Wenn Sie Zugriff auf das Zeichenfolgenliteral haben, können Sie dieses Zeichenfolgenliteral direkt verwenden
var string = '[a-z]{2}';
var regexp = new RegExp(string);
var num = string.match(/\{(\d+)\}/)[1];
snippet.log('Number: ' + num)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
JS bietet keinen direkten Weg, um die minimale Länge eines Strings zu kennen, die einen beliebigen regulären Ausdruck übereinstimmt. Aber ich denke, es wäre möglich, eine JS-Implementierung eines Regex-Parsers zu verwenden und sie leicht zu modifizieren, um dies zu berechnen. – Oriol