Только что просмотрел ваш код!
Нина действительно хороший ответ!
Однако, это выражение может помочь вам сделать это:
([A-z0-9\s]{1,11})(\s)(.*)
Это выражение смягчено справа и имеет три группы захвата с только списком символов, которые я только что добавил в первую группу захвата, и я уверен, что вы, возможно, захотите изменить этот список, возможно, аналогично:
([A-Za-z0-9\s]{1,11})(\s)(.*)
Graph
Этот график показывает, как будет работать выражение, и вы можете визуализировать другие выражения в этой ссылке :
![enter image description here](https://i.stack.imgur.com/Og67Q.png)
Тест производительности
Этот фрагмент JavaScript показывает производительность этого выражения с помощью простого цикла for
, равного миллиону раз.
const repeat = 1000000;
const start = Date.now();
for (var i = repeat; i >= 0; i--) {
const string = 'The quick brown fox jumped over the fence';
const regex = /([A-z0-9\s]{1,11})(\s)(.*)/gm;
var match = string.replace(regex, "$1");
}
const end = Date.now() - start;
console.log("YAAAY! \"" + match + "\" is a match ??? ");
console.log(end / 1000 + " is the runtime of " + repeat + " times benchmark test. ? ");
Тестовый код
const regex = /([A-z0-9\s]{1,11})(\s)(.*)/s;
const str = `The quick brown fox jumped over the fence`;
const subst = `$1`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);