|
|
Да, просто замени весь шаблон на этот:
|

08.01.2012, 15:22
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
|
Сообщение от monolithed
|
|
главное чтобы было от чего оттолкнуться
|
Хороший пример, спасибо  Кажется, улавливаю логику: чтобы найти что-то перед чем стоит определенный символ, надо искать не этот символ, а то, что следует за ним.
Позволил себе немного изменить Ваш пример
var x = "foo|bar";
var z = /(?=\w+$)/;
var w = x.replace(z, "="); // находит позицию после "|" и вставляет туда символ
alert(w);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|

08.01.2012, 15:35
|
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
чтобы найти что-то перед чем стоит определенный символ, надо искать не этот символ, а то, что следует за ним.
_______
а я не улавливаю логики..........
попробуй сделай это с поиском ссылок вида
www.youtube.com чтобы ссылка отделялась от остального текста пробелами при том заменялась ссылкой www.google.com при том пробелы слева и справа ссылки оставались бы нетронутыми
вот в этой строке
"www.youtube.com бла www.youtube.com бла www.youtube.com"
|
|

08.01.2012, 15:36
|
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
|
п.с. парсер сайта ссылки уже зпарсил смотрю) лол не обращай на это внмания
|
|

08.01.2012, 15:40
|
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
|
Сообщение от Livaanderiamarum
|
|
ну тут видешь саму суть регулярок не используешь, тебе зарание известна строка в которой будем искать, а этого быть не должно.
|
var text = 'папра 5 foo|bar 54 тиапт апк4';
alert(text.replace(RegExp(text.match(/\|(\w+\b)/)[1]), 'foo'));
|
|

08.01.2012, 15:43
|
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
|
аа!!!!! все прозрел)))!!!!!
[1] обращение к свойству регулярки возвращает уже не саму регулярку а скобочную группу)))) спасибо))!
я забл что мы точку используем и к свойству обращаемся)))
|
|

08.01.2012, 16:28
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Livaanderiamarum, как понял
// Задача заменить youtube.com в середине строки так, чтобы пробелы слева и справа оставались не тронутыми
var x = "youtube.com бла youtube.com бла youtube.com";
var z = /(?!^)youtube.com(?= )/g;
var w = x.replace(z, "google.com");
alert(w);
var x = "папра 5 foo|bar 54 тиапт апк4";
var z = /(?! )[a-z]+(?= )/g
var w = x.replace(z, "foo");
alert(w);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|

08.01.2012, 16:58
|
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
Сообщение от nerv_
|
Livaanderiamarum, как понял
// Задача заменить youtube.com в середине строки так, чтобы пробелы слева и справа оставались не тронутыми
var x = "youtube.com бла youtube.com бла youtube.com";
var z = /(?!^)youtube.com(?= )/g;
var w = x.replace(z, "google.com");
alert(w);
|
Не, задача заменить ВСЕ ютьюбы)) я специально сделал их в разных местах в разных условиях)
|
|

08.01.2012, 17:05
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
|
Сообщение от Livaanderiamarum
|
|
Не, задача заменить ВСЕ ютьюбы
|
Тогда еще проще
// Задача заменить все youtube.com так, чтобы пробелы слева и/или справа оставались не тронутыми
var x = "youtube.com бла youtube.com бла youtube.com";
var z = /youtube.com/g;
var w = x.replace(z, "google.com");
alert(w);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|

08.01.2012, 17:23
|
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
|
блин тогда так)
1) заменить все ССЫЛКИ на ютьюб, словом "НННЯЯЯ"
2) при том чтобы пробелы слева и справа от них остались нетронутыми
3) при том что длинны ссылок могут быть разные
4) при том что слова и знаки не могут касаться наших ссылок ни справа ни слева. только пробелы могут их касаться, иначе ссылка не считается ссылкой.
вот строка
"youtube.com/wacht?fdfg^%fgdghd745u76GHkGKGHK&8^56756*?fgd=fgdg бла youtube.com/fgdgdf?:fdgfd+пав=*?а бла youtube.com.апвпав*?=fg";
Последний раз редактировалось Livaanderiamarum, 08.01.2012 в 17:26.
|
|
|
|