Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.09.2018, 12:53
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

Насколько я понимаю данный скрипт удаляет весь текст, а если нужно удалить по шаблону? Допустим из строки "Сегодня мне 23 года" удалить "Сегодня " и " года" (оставив "мне 23")?
И где бы ознакомиться с синтаксисом внутри "/ /" , т.е. "[^\d;]+?"
Буду благодарен, если поделитесь ссылкой
Ответить с цитированием
  #12 (permalink)  
Старый 24.09.2018, 12:56
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,729

Andrey_szr,
https://learn.javascript.ru/regular-...ons-javascript
https://learn.javascript.ru/regexp-c...ets-and-ranges
Ответить с цитированием
  #13 (permalink)  
Старый 24.09.2018, 13:00
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

Большое спасибо.
Ответить с цитированием
  #14 (permalink)  
Старый 24.09.2018, 13:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от 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);
Ответить с цитированием
  #15 (permalink)  
Старый 24.09.2018, 14:22
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

рони, решения через replace нет или оно здесь просто неуместно?
Ответить с цитированием
  #16 (permalink)  
Старый 24.09.2018, 14:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

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);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обернуть каждый тег в несколько DIV содержащих по 1 атрибуту от этих самых тегов? Zaxap Общие вопросы Javascript 10 08.11.2016 11:56
Несколько блоков под одним скриптом serdeles jQuery 3 19.09.2014 12:11
Как заменить тексты ссылок текстами из тегов span при нажатии All_ex74 Элементы интерфейса 13 28.08.2014 08:16
Заполнить несколько ComboBox одним запросом! potkin ExtJS 6 05.07.2012 22:57
Несколько селектов с одним содержанием Andres Events/DOM/Window 1 15.06.2011 22:26