Доброго времени суток!
Простенькая задачка, нужно менять слова в предложении которые находятся в {} и разделены |
Но я не врубаюсь, что не так с регуляркой? почему {} запоминаются?
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf8">
</head>
<body>
<script>
function init() {
var text = "Я {самый|очень|плохой|доктор|кролик из статей про наследование и} сантехник, которому не составит труда {написать|сварганить| запостить} код для этого задания, в котором слова будут изменяться {быстро|мгновенно|рэндомно}",
reg = /(?:\{).*?\|.*?\|?(?:\})/g,
arrReplace = [], randOut = [],
search = text.match(reg),
input = document.getElementById('text');
for (var i = 0; i < search.length; i++) {
arrReplace[i] = search[i];
arrReplace[i] = arrReplace[i].split('|');
randOut[i] = arrReplace[i][Math.floor(Math.random()*(arrReplace[i].length))];
text = text.replace(search[i], randOut[i]);
}
input.innerHTML = text;
}
window.onload = init;
</script>
<div id="text"></div>
</body>
</html>