Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2011, 15:51
Кандидат Javascript-наук
Отправить личное сообщение для ArmagedDance Посмотреть профиль Найти все сообщения от ArmagedDance
 
Регистрация: 07.12.2009
Сообщений: 147

Обработка простейшего Regexp
Помогите правильно обработать строку регулярными выражениями.
На входе получаю строку из excel, там ячейки разделены табуляционными символами.
Надо на выходе получить массив из совпадений в regexp.

Регулярка следующая:
var name_regex=/([\s])+[\S^,.]+([\s])+/g;

Она не возвращает некоторые поля, не знаю почему, помогите модифицировать.
Регулярка должна вернуть совпадения, разделенные блоками посредством табуляции(не пробелами).

Образец строки:
<pre>
0729	Перец черный горошек, 500 гр	Pepe nero grani da gr.500	6	500 гр	шт.	687,08	Via delle Indie
</pre>

Последний раз редактировалось ArmagedDance, 12.11.2011 в 16:28.
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2011, 16:25
Кандидат Javascript-наук
Отправить личное сообщение для ArmagedDance Посмотреть профиль Найти все сообщения от ArmagedDance
 
Регистрация: 07.12.2009
Сообщений: 147

Подскажите, как получить все символы табуляции кроме пробельного?
Ответить с цитированием
  #3 (permalink)  
Старый 12.11.2011, 16:42
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Так, не? Проблема в том, что тут они отображаются как несколько пробелов.
str= "0729    Перец черный горошек, 500 гр    Pepe nero grani da gr.500   6   500 гр  шт. 687,08  Via delle Indie";
alert(str.split(/\s\s\s*/));
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 12.11.2011 в 16:46.
Ответить с цитированием
  #4 (permalink)  
Старый 12.11.2011, 17:19
Кандидат Javascript-наук
Отправить личное сообщение для ArmagedDance Посмотреть профиль Найти все сообщения от ArmagedDance
 
Регистрация: 07.12.2009
Сообщений: 147

Сообщение от trikadin Посмотреть сообщение
Так, не? Проблема в том, что тут они отображаются как несколько пробелов.
str= "0729    Перец черный горошек, 500 гр    Pepe nero grani da gr.500   6   500 гр  шт. 687,08  Via delle Indie";
alert(str.split(/\s\s\s*/));
У меня расстояния между блоками в один табуляционный символ (или в длинный пробел, хз) и ваша регулярка не помогла (
видимо три пробела уже тут, на javascript.ru появились
Ответить с цитированием
  #5 (permalink)  
Старый 12.11.2011, 18:43
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

nasqad, а вы проверили, не? В той строке, которую он привёл как пример - не табуляционные символы, а несколько пробелов...

ArmagedDance, попробуйте так...
str= "0729    Перец черный горошек, 500 гр    Pepe nero grani da gr.500   6   500 гр  шт. 687,08";
str+="\tVia delle Indie";
alert(str.split(/(?:\s\s\s*)|\t/));
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 12.11.2011 в 18:48.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
regexp не работает экранирование точки Spice Общие вопросы Javascript 2 10.11.2011 13:41
jqGrid. локальная обработка данных DarkN jQuery 0 25.01.2011 23:55
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
RegExp & Mozilla (быстродействие) tau Общие вопросы Javascript 9 24.11.2008 16:35
RegExp и unicode Yury900 Общие вопросы Javascript 7 13.05.2008 00:19