Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.09.2020, 16:16
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Вопрос по регулярным выражениям.
Здравствуйте!

Подскажите как можно найти определённые символы и одновременно исключить некоторые из них из результата выдачи?

К примеру:

start-10 stop-11 test-543

И из этого найти только последнее значение в виде цифр "543" при этом не задавая значение самих цифр.

Предполагал что можно найти значение по слову "test-" после чего удалить его из выдачи, оставив только цифры. Но не знаю как сделать это одним выражением.

Подскажете?
Ответить с цитированием
  #2 (permalink)  
Старый 07.09.2020, 16:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var str = 'start-10 stop-11 test-543';
alert(str.match(/\d+$/))


https://developer.mozilla.org/ru/doc...Objects/RegExp

Последний раз редактировалось laimas, 07.09.2020 в 16:21.
Ответить с цитированием
  #3 (permalink)  
Старый 07.09.2020, 17:48
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Сообщение от laimas Посмотреть сообщение
var str = 'start-10 stop-11 test-543';
alert(str.match(/\d+$/))


https://developer.mozilla.org/ru/doc...Objects/RegExp
Ну да, зачем читать вопрос полностью. Я же спрашивал о том как это сделать если искать по слову? Ясное дело, давайте возьмём последние цифры.

Если изменить постановку, как теперь взять значение "test" ?

start-10 test-543 stop-11

Не подходит ваш способ.
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2020, 18:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это не мой способ, это работа регулярного выражения, а хотите получать нужное, увы, но читать и изучать придется.

Сообщение от Biotoxsin
И из этого найти только последнее значение в виде цифр "543"
Запустите код, он и выводит 543. Если нужно искать цифры перед которым конкретный текст, то нужно добавить в шаблон выражения это условие - по ссылке все описано, почему бы самому не попробовать его составить?
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2020, 18:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Biotoxsin,
var str = 'start-10 test-543 stop-11';
alert(str.match(/(?<=test-)\d+/));
Ответить с цитированием
  #6 (permalink)  
Старый 07.09.2020, 19:44
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Сообщение от laimas Посмотреть сообщение
var str = 'start-10 stop-11 test-543';
alert(str.match(/\d+$/))


https://developer.mozilla.org/ru/doc...Objects/RegExp
Сообщение от laimas Посмотреть сообщение
Это не мой способ, это работа регулярного выражения, а хотите получать нужное, увы, но читать и изучать придется.



Запустите код, он и выводит 543. Если нужно искать цифры перед которым конкретный текст, то нужно добавить в шаблон выражения это условие - по ссылке все описано, почему бы самому не попробовать его составить?
Знаете, в эту тему приходят за помощью и её оказанием.
Вы же приводите код который не будет работать во всех случаях(только в одном) и кидаете ссылку на мануал. Если вы не хотите помогать и вам не нужна помощь, зачем вы приходите в этот раздел?

p.s и уж если зашёл разговор, то я читал там всё.
Ответить с цитированием
  #7 (permalink)  
Старый 07.09.2020, 19:44
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

Сообщение от рони Посмотреть сообщение
Biotoxsin,
var str = 'start-10 test-543 stop-11';
alert(str.match(/(?<=test-)\d+/));
Много благодарен =)
Ответить с цитированием
  #8 (permalink)  
Старый 07.09.2020, 20:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Biotoxsin
Знаете, в эту тему приходят за помощью и её оказанием.
Но не за подсказками.
Сообщение от Biotoxsin
уж если зашёл разговор, то я читал там всё.
Нужно не просто читать, а изучать, пробуя. Или думаете, что только подсказками прожить? Ну просто надоест всем и не станут на вас обращать внимание. Такое точно тут есть, так что без претензий потом.
Сообщение от Biotoxsin
Вы же приводите код который не будет работать во всех случаях(только в одном) и кидаете ссылку на мануал.
Это чьи слова
"start-10 stop-11 test-543
И из этого найти только последнее значение в виде цифр "543"
?

А это "Предполагал что можно найти значение по слову "test-"" можно трактовать как попытку, а не то что вам нужно после них. Так что учитесь еще и ставить грамотно вопросы.

И кстати, то что вам в итоге показали, это лишь как показать, но прямо с полученным работать так нельзя. Ну вы же читали все там, уж с этим тогда и сами разберетесь.

Последний раз редактировалось laimas, 07.09.2020 в 20:23.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос на миллион. Ajax и идентификация по адресной строке. 0931454574 AJAX и COMET 5 31.03.2011 11:54
Вопрос по регулярным выражениям demoniqus Общие вопросы Javascript 5 23.03.2011 09:06
Вопрос по замыканиям Goodfella Общие вопросы Javascript 20 09.03.2011 01:21
Вопрос по работе функций в PHP bayah Серверные языки и технологии 2 12.02.2011 17:42
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49