Этот скрипт на Perl я хочу реализовать в JavaScript ( source ):
s/([0-9]+)/sprintf('%04d',$1)/ge;
Очевидно, sprintf недоступно в JavaScript, но я знаюВы можете создать функцию, которая будет работать непосредственно с номером вопроса, однако в моем случае у меня есть длинная строка, содержащая, возможно, несколько чисел, для преобразования строки, такой как: abc8 23 123
в эту: abc000008 000023 000123
(используя 6 цифр в качестве примера).
Так что я либо не получу какое-то умное регулярное выражение, либо каким-то образом найду способ разделить длинную строку на массив различных строк и чисел и воздействовать только на число один за другим.
Я действительно хочу избежать последнего подхода, потому что 1) в данном случае скорость является проблемой, и 2) регулярное выражение, связанное с разбиением строк в нужном месте, кажется более сложным, чем добавление начальных нулей в этой точке.
В конце концов, есть ли другой способ сделать это с помощью регулярного выражения JavaScript?