Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2011, 19:36
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

Регулярное выражение
Я прочел что в Perl есть замечательная штука как позиционная проверка, а точней сказать вот такие штуки /(?<=...)/ пример /(?<=\d)/
но проблема в том что или я чего то не понимаю или в js не ни какого аналога

кто знает как повторить подобное в js подскажите

а задача состоит в том что бы скажем из строки
1234567890
получить
1 234 567 890
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2011, 20:14
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от розовый слоник
но проблема в том что или я чего то не понимаю или в js не ни какого аналога
нет необходимости в этом спецификаторе:

alert('1234567890'.replace(/^\d|\d{3}/g, '$& '));

Последний раз редактировалось monolithed, 27.07.2011 в 20:16.
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2011, 20:16
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

спс но я уже решил это дело так
function replacer(str, p1, p2, offset, s) {
		
		  return p1 + " ";
		}
		
		newString = "1234567890021412414144".replace(/^0*/, '').replace(/(\d)(?=(\d{3})+(?!\d))/g, replacer)
		alert(newString);

Последний раз редактировалось розовый слоник, 27.07.2011 в 20:18.
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2011, 20:17
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

кстати у вас не правильная регулярка) поставте дополнительную цыфру и вы увидите проблему
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2011, 20:25
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

розовый слоник,
ну так вы не указали, что решение должно быть унифицорованное, поэтому я и предложил вариант под конкретную задачу, а так конечно вот:
alert('12345678904527527852'.replace(/\d(?=(\d{3})+(?!\d))/g, '$& '));
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка e-mail регулярное выражение mycoding Общие вопросы Javascript 4 09.02.2017 10:12
регулярное выражение, выборка setter Общие вопросы Javascript 8 27.05.2011 10:29
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29
Регулярное выражение для поиска смайлов. NightmareZ Общие вопросы Javascript 13 23.06.2009 13:12
регулярное выражение demi Общие вопросы Javascript 3 10.03.2009 13:10