\b[A-Z][a-z]?\d?\b
str.replace(/.{4}(?!$)/g, '$&-')
// или
str.match(/.{1,4}/g).join('-')
// или
str.split(/(?<=^(?:.{4})+)/).reduce((acc, n) => acc + (acc && '-') + n, '')
// или
''.concat(...[...str].map((n, i) => !i || i % 4 ? n : `-${n}`))
// или
Array.from(
{ length: Math.ceil(str.length / 4) },
(n, i) => str.slice(i * 4, (i + 1) * 4)
).join`-`
Здесь только регуляркой или как?
function incrementNumberInString(str) {
for (let i = 0, iNum = -1; i < str.length; i++) {
if ('0123456789'.includes(str[i])) {
if (iNum === -1 && str[i - 1] === '[') {
iNum = i;
}
} else if (iNum !== -1 && str[i] === ']') {
return str.slice(0, iNum) + (Number(str.slice(iNum, i)) + 1) + str.slice(i);
} else {
iNum = -1;
}
}
return str;
}
str.replace(/(?<=\[)\d+(?=\])/, m => ++m)
// или
str.replace(/\[\d+\]/, m => '[' + (m.slice(1, -1) - -1) + ']')
// или
str.replace(/\[(\d+)\]/, (m, g1) => `[${-~g1}]`)
PHPSESSID=(.*?);
preg_match('\/\/.+\?', $embed, $matches);
echo $matches;
$matches[0]
str.replace(/(?<=.{2}).(?=.{2})/g, '*')
// или
str.replace(/^(.{2})(.+)(.{2})$/, (m, g1, g2, g3) => g1 + '*'.repeat(g2.length) + g3)
// или
Array.from(str, (n, i) => (i < 2 || i > str.length - 3) ? n : '*').join('')
Пробовал ставить перед скобкой «\» не работает.