Я немного изменил его, используя этот инструмент :
(([0-1]{8})([0-1]{24}))
Если я правильно понимаю, вы можете не захотеть связывать его начальными и конечными символами.Вы можете просто использовать другую группу захвата вокруг нее и с двумя другими уже имеющимися группами захвата извлекать данные по своему желанию.
Описательный график RegEx
Эта ссылка поможет вам визуализировать ваши выражения:
Демонстрация тестирования JavaScript
const regex = /(([0-1]{8})([0-1]{24}))/gm;
const str = `010011011001110111100111011010001001100011101100100011100010100011110010100011001111111101101001
`;
const subst = `Group #1: $1\nGroup #2: $2\nGroup #3: $3\n`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Тест производительности
Этот фрагмент возвращает время выполнения цикла for
в миллион раз.
const repeat = 1000000;
const start = Date.now();
for (var i = repeat; i >= 0; i--) {
const regex = /(([0-1]{8})([0-1]{24}))/gm;
const str = `010011011001110111100111011010001001100011101100100011100010100011110010100011001111111101101001`;
const subst = `\nGroup #1: $1\nGroup #2: $2\nGroup #3: $3`;
var match = str.replace(regex, subst);
}
const end = Date.now() - start;
console.log("YAAAY! \"" + match + "\" is a match ??? ");
console.log(end / 1000 + " is the runtime of " + repeat + " times benchmark test. ? ");