Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Заменить несколько тегов одним replace'ом (https://javascript.ru/forum/dom-window/73514-zamenit-neskolko-tegov-odnim-replace%27om.html)

Andrey_szr 24.09.2018 12:53

Насколько я понимаю данный скрипт удаляет весь текст, а если нужно удалить по шаблону? Допустим из строки "Сегодня мне 23 года" удалить "Сегодня " и " года" (оставив "мне 23")?
И где бы ознакомиться с синтаксисом внутри "/ /" , т.е. "[^\d;]+?"
Буду благодарен, если поделитесь ссылкой

Nexus 24.09.2018 12:56

Andrey_szr,
https://learn.javascript.ru/regular-...ons-javascript
https://learn.javascript.ru/regexp-c...ets-and-ranges

Andrey_szr 24.09.2018 13:00

Большое спасибо.

рони 24.09.2018 13:39

Цитата:

Сообщение от Andrey_szr
оставив "мне 23"

var arr=['Сегодня мне 23 года','Сегодня мне 26 лет','Сегодня мне 31 год'];
var reg = /(?:Сегодня )([\s\S]+)(?:\s(год|лет))/;
var num = arr.map(function (val) {
    return val.match(reg)[1]
});
alert(num);

var arr=['Сегодня мне 23 года','Сегодня мне 26 лет','Сегодня мне 31 год'];
var reg = /(мне[\s\S]+)(?:\s(год|лет))/;
var num = arr.map(function (val) {
    return val.match(reg)[1]
});
alert(num);

var arr=['Сегодня мне 23 года','Сегодня мне 26 лет','Сегодня мне 31 год'];
var reg = /(мне \d+)/;
var num = arr.map(function (val) {
    return val.match(reg)[1]
});
alert(num);

Andrey_szr 24.09.2018 14:22

рони, решения через replace нет или оно здесь просто неуместно?

рони 24.09.2018 14:30

Andrey_szr,
:-?
дело ваше, что использовать ...
var arr=['Сегодня мне 23 года','Сегодня мне 26 лет','Сегодня мне 31 год'];
var reg = /(?:Сегодня\s)([\s\S]+)(?:\s(год|лет).*)/;
var num = arr.map(function (val) {
    return val.replace(reg, "$1")
});
alert(num);


Часовой пояс GMT +3, время: 03:13.