Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.04.2013, 18:05
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от Aetae Посмотреть сообщение
Ну тут какбэ и indexOf обойтись можно.)
Сообщение от Aetae Посмотреть сообщение
// ......................
        return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
// ......................


А если серьезно, позволю себе пару комментариев:
1. Внутри классов почти ничего маскировать не нужно. Правда, иногда для этого все должно быть на своих местах. Не нужно маскировать скобку [ если она в самом начале или после символа отрицания ^, не нужно маскировать ^ если ставить этот символ не в самое начало, не нужно маскировать минус, если ставить его в начале или в конце (но начало уже занято [ поэтому ставим в конце), остальные символы (кроме \ и возможно /) просто маскировать не нужно. Поэтому в итоге получаем:
//      return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
        return str.replace(/[][\/{}()*+?.\\^$|]/g, "\\$&");

2. Вариант searchBetweenReg полагается на то, что split добавляет в результирующий массив подгруппы (т.е. кусочки в скобочках) а это может быть так, а может и не быть, т.е. получается непереносимо. Значит остается первый и третий вариант.
Ответить с цитированием
  #12 (permalink)  
Старый 05.04.2013, 23:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var txt = "привет меня зовут Вася. привет и меня тоже зовут Вася";
txt = txt.replace(/Вася(?:.(?!привет)*).привет/img,'=ВасПрив=')
txt = txt.split(/=ВасПрив=|привет|Вася/);
txt.splice(0,1);
txt.splice(-1,1)
alert(txt)

Последний раз редактировалось Deff, 05.04.2013 в 23:50.
Ответить с цитированием
  #13 (permalink)  
Старый 06.04.2013, 00:31
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от Deff Посмотреть сообщение
var txt = "привет меня зовут Вася. привет и меня тоже зовут Вася";
txt = txt.replace(/Вася(?:.(?!привет)*).привет/img,'=ВасПрив=')
txt = txt.split(/=ВасПрив=|привет|Вася/);
txt.splice(0,1);
txt.splice(-1,1)
alert(txt)
var txt = "привет меня зовут Вася. (хи-хи) привет и меня тоже зовут Вася";
txt = txt.replace(/Вася(?:.(?!привет)*).привет/img,'=ВасПрив=')
txt = txt.split(/=ВасПрив=|привет|Вася/);
txt.splice(0,1);
txt.splice(-1,1)
alert(txt)
Ответить с цитированием
  #14 (permalink)  
Старый 06.04.2013, 00:37
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var txt = "привет меня зовут Вася. (хи-хи) привет и меня тоже зовут Вася";
txt = txt.replace(/Вася(?:.(?!привет))*.привет/img,'=ВасПрив=')
txt = txt.split(/=ВасПрив=|привет|Вася/);
txt.splice(0,1);
txt.splice(-1,1)
alert(txt)

Последний раз редактировалось Deff, 06.04.2013 в 00:41.
Ответить с цитированием
  #15 (permalink)  
Старый 06.04.2013, 00:49
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

В любом случае - непереносимо. Напоминаю:
Регулярное выражение: узнать количество цифр.

Я к тому, что
txt.splice(0,1);
txt.splice(-1,1)
может быть нужно, а может и нет
Ответить с цитированием
  #16 (permalink)  
Старый 07.04.2013, 08:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

split в ie<8 лечится как и всё остальное - подключением эмуляции.
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь между двумя окнами. iMIhael Общие вопросы Javascript 2 28.11.2011 13:39
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21
[JavaScript] получение данных из адресной строки после знака # GiveMeABreak AJAX и COMET 2 16.09.2009 00:36