Показать сообщение отдельно
  #1 (permalink)  
Старый 25.03.2016, 21:10
Интересующийся
Отправить личное сообщение для Almag13 Посмотреть профиль Найти все сообщения от Almag13
 
Регистрация: 22.03.2016
Сообщений: 12

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

Есть строка

var string = "brendyi-1/acura.html?tv_brand=&tv_model-acura=MDX&tv_year=2008&tv_engine=3.7";


Нужно найти все числа полностью их всего три...

Что не получается и не понимается...

Все числа вывести не проблема
\d+ или \d+?

Но проблема вывести каждое число как оно есть в массив получается длина массива должна равняться трем... У меня получается двум...

Что я делал:
var reSec = /\d?(\d.\d)/g;
var secString = string.match(reSec);


Такой подход не выводит первую цифру... А выводит две остальные...
Ок, пошел другим путем... Явно указал вывести только первую цифру
var reSec = /(^\d{1})/g;

результат получаю null

Хорошо действую другим путем... Указываю одну цифру по иному
простое \d
Итак, рассуждения, мы нашли цифру первую двигаемся дальше перед нами выбор в жадном режиме выбирать или нет
Пусть будет жадный, мы пробегаемся по всей строке и ищем все цифры.
/\d+/g;

Но как мы видим в строке есть цифра с точкой
и ее вывести не получается...
Что не так, пробую и так...

/\d+(\d.\d)/g;
Ответить с цитированием