Генерация строки по регулярному выражению
Можно ли как-то сгенерировать строку (каждый раз должна возвращаться случайная строка) используя регулярное выражение? Делаю через получение рандомного символа из заданной строки, но думаю можно сделать по-лучше
static getRandmonString(stringLength: number): string {
let text = '';
const possible =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789+-)(;.,:%№"! абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
for (let i = 0; i < stringLength; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
}
Ответы (1 шт):
Если нужно брать символ из таблицы символов (например, если идут последовательно), то можно использовать функцию String.fromCharCode. Она позволяет по числу вернуть значение символа. Это лучше, чем использование строки, так как это строка в данном случае не создается.
Касательно регулярных выражений, они используются как раз-таки в тех местах, где нужно получить конкретный результат. Получение произвольного в регулярных выражениях не предусмотрено.
Потому для получения произвольного символа можно использовать либо мой вариант, либо оставить ваш, если он будет проще в реализации.