Javascript.RU

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

Регулярное выражение для однозначных чисел
Добрый день.
Имеется строка вида:
1a5b23h)221

То есть между числами в случайном порядке располагаются буквы, символы и т.д.
Задача: найти все однозначные числа, т.е. 1, 2, 3, 4, 5, 6, 7, 8, 9 (можно без нуля).
Т.е. из примера выше нужно найти 1, 5.
Пробовал так:
/[0-9](?![0-9]))/

Но в таком случае находит 3 на конце 23 и 1 на конце 221.
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2014, 21:23
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от madflash001
1a5b23h)221

То есть между числами в случайном порядке располагаются буквы, символы и т.д.
Задача: найти все однозначные числа, т.е. 1, 2, 3, 4, 5, 6, 7, 8, 9 (можно без нуля).
Т.е. из примера выше нужно найти 1, 5.
почему только 1 и 5, если задача найти все числа в строке?
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2014, 21:30
Интересующийся
Отправить личное сообщение для madflash001 Посмотреть профиль Найти все сообщения от madflash001
 
Регистрация: 10.06.2014
Сообщений: 18

Все однозначные числа, я же написал.
То есть 1 и 5 подходит, а 221 не подходит, т.к. это 3-х значное число.
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2014, 21:32
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от madflash001
Все однозначные числа, я же написал.
почему только 1 и 5, если задача найти все однозначные числа в строке, в которой помимо 1 и 5, есть ещё 2 и 3?
Ответить с цитированием
  #5 (permalink)  
Старый 15.07.2014, 21:37
Интересующийся
Отправить личное сообщение для madflash001 Посмотреть профиль Найти все сообщения от madflash001
 
Регистрация: 10.06.2014
Сообщений: 18

2 и 3 стоят рядом друг с другом, поэтому это 2-х значное число 23, вот если бы было
2fgdf3fg
тогда бы эти числа подошли.
Ответить с цитированием
  #6 (permalink)  
Старый 15.07.2014, 22:01
Интересующийся
Отправить личное сообщение для madflash001 Посмотреть профиль Найти все сообщения от madflash001
 
Регистрация: 10.06.2014
Сообщений: 18

Примерно понял, какую регулярку нужно написать. Но теперь возник такой вопрос:
Есть спецсимвол x(?!y), он находит х, если за ним не следует у, а есть ли спецсимвол, который находит х, если ПЕРЕД ним не следует у?
Что - то в Интернете только x(?!y) есть.
Ответить с цитированием
  #7 (permalink)  
Старый 15.07.2014, 22:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

madflash001,

var str = '1a5b23h)221';
 alert(str.replace(/\d{2,}/g,'').match(/\d/g))
Ответить с цитированием
  #8 (permalink)  
Старый 15.07.2014, 22:27
Интересующийся
Отправить личное сообщение для madflash001 Посмотреть профиль Найти все сообщения от madflash001
 
Регистрация: 10.06.2014
Сообщений: 18

Хм... Интересный подход. Правда, наверное, не самый быстрый. Одной регуляркой было бы быстрее, а у меня строка очень большая.
Но, в любом случае, спасибо большое. Сам бы не додумался.
Ответить с цитированием
  #9 (permalink)  
Старый 15.07.2014, 23:41
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

alert('1a5b23h)221'.split(/\D+/).filter(function(el){return el.length == 1}))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение Eser Javascript под браузер 1 27.03.2013 13:13
Регулярное выражение BorisBritva jQuery 3 15.03.2012 19:07
Регулярное выражение для проверки URL Beck Events/DOM/Window 13 06.02.2011 08:01
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29
Регулярное выражение для поиска смайлов. NightmareZ Общие вопросы Javascript 13 23.06.2009 13:12