Замена в регулярном выражении подстрок
Подскажите - как решаются подобные классы задач:
С помощью регулярного выражения в совпадающем фрагменте найти и заменить текст, соответствующий n-ной скобке. Например: в строке "1285423808063" в соответствии с регулярным выражением /[^3](8)(0)[6-8]/ заменить 8 на * и 0 на + чтобы получилось "128542380*+63" |
Rust,
var str = "1285423808063"; str = str.replace(/(380)(\d{2})/, "$1*+"); alert(str); |
Нужно общее решение. С частными всё понятно
|
Цитата:
|
Для понимания, нужно дописать
function(v,s) { return v.replace(s, function(f) { ... }); }так, чтобы при любой строке v и любом регулярном выражении s текст, соответствующий n-ной скобке обрамлялся тегами: <span class=Pn>$n</span> |
Цитата:
|
Rust,
возможно вы хотели так var str = "1285423808063"; function r(v,s,n) { return v.replace(s, function(f) { return --n ? f : '"'+f+'"' }); } str = r(str, /\d{2}/g,3); alert(str); |
строка:
Ну что сказать? -12.85 - это отрицательное число, а 0.86 - положительное регулярное выражение: /[^-\d.](\d+)(\.\d+)?/g Результат: Ну что сказать? -12.85 - это отрицательное число, а <span class=P1>0</span><span class=P2>.86</span> - положительное |
Повторяю. Строка и регулярка могут быть любой.
Обработку пишу я. Мне нужен общий метод. |
Цитата:
|
Часовой пояс GMT +3, время: 01:23. |