Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2010, 14:39
Аспирант
Отправить личное сообщение для Орёл Посмотреть профиль Найти все сообщения от Орёл
 
Регистрация: 05.05.2010
Сообщений: 50

Помогите с регуляркой
Нужно из текста вырезать всё что между кавычками делаю так:
text.match('/Тема\:\"(.*)\"/gi');
Но возвращаеться null

Последний раз редактировалось Орёл, 14.06.2010 в 14:53.
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2010, 15:00
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

text.replace(/".+?"/gi, '""');
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2010, 15:04
Аспирант
Отправить личное сообщение для Орёл Посмотреть профиль Найти все сообщения от Орёл
 
Регистрация: 05.05.2010
Сообщений: 50

Сообщение от exec Посмотреть сообщение
text.replace(/".+?"/gi, '""');
мне не удалить надо,а вытащить
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2010, 15:12
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

попробуй убрать глобал
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2010, 15:16
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

text.match(/".+?"/gi);


Будет возвращён массив с найденными подстроками.
Ответить с цитированием
  #6 (permalink)  
Старый 14.06.2010, 15:32
Аспирант
Отправить личное сообщение для Орёл Посмотреть профиль Найти все сообщения от Орёл
 
Регистрация: 05.05.2010
Сообщений: 50

спасибо
Ответить с цитированием
  #7 (permalink)  
Старый 24.02.2012, 03:57
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Пардон за поднятие мертвой темы, не хотелось создавать новой.

Помогите плиз с регуляркой: нужно разбить строку на слова, делаю так:
' сок   молоко     работа '.replace(/\s+/g, ' ').replace( /\s(.*)\s/, '$1' ).split( ' ' ); //["сок", "молоко", "работа"]

Но если убрать пробел в начале, то получится так:
'сок   молоко     работа '.replace(/\s+/g, ' ').replace( /\s(.*)\s/, '$1' ).split( ' ' ); //["сокмолоко", "работа"]

А если убрать еще и в конце, то будет:
'сок   молоко     работа'.replace(/\s+/g, ' ').replace( /\s(.*)\s/, '$1' ).split( ' ' ); //["сокмолокоработа"]


Да, регулярки — большая дырка в моих знаниях, но я всё никак не могу с ними подружиться, застревая на простейших задачах.

На всякий случай: первый реплейс заменяет кучу пробелов на один, второй — убирает пробелы слева и справа (по крайней мере, мне бы так хотелось).
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности

Последний раз редактировалось FINoM, 24.02.2012 в 04:00.
Ответить с цитированием
  #8 (permalink)  
Старый 24.02.2012, 04:06
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сорри, вспомнил, что в php есть тая функция как trim, она же реализована и на яваскриптах.
http://alt-f4.ru/trim-in-javascript
В итоге:
'   сок    молоко  работа'.replace(/\s+/g, ' ').replace(/((\s*\S+)*)\s*/, "$1").replace(/\s*((\S+\s*)*)/, "$1").split( ' ' ); //["сок", "молоко", "работа"]


Хотя выглядит жутко. Есть варианты упрощения?

UPD:
'сок    молоко  работа '.replace(/\s+/g, ' ').replace(/\s*((\s*\S+)*)\s*/, "$1").split( ' ' )
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности

Последний раз редактировалось FINoM, 24.02.2012 в 04:08.
Ответить с цитированием
  #9 (permalink)  
Старый 24.02.2012, 04:12
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

alert(
'сок   молоко     работа'.split(/\s+/)
)

Проблема не в регулярках)
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 24.02.2012, 04:21
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Aetae Посмотреть сообщение
alert(
'сок   молоко     работа'.split(/\s+/)
)

Проблема не в регулярках)
Ну всё равно придется пробелы по бокам убивать. Как это сделать без проверок?
'    сок   молоко     работа  '.split(/\s+/); //["", "сок", "молоко", "работа", ""]
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с регуляркой tazododu Общие вопросы Javascript 11 01.03.2010 09:42
помогите с регуляркой ... motoroller Элементы интерфейса 1 23.11.2009 22:01
помогите с регуляркой Holod Общие вопросы Javascript 1 19.08.2009 12:02
помогите задать селектор! mkrylov jQuery 2 28.06.2009 20:34
Помогите с регуляркой... alexKniaz AJAX и COMET 0 03.11.2008 01:16