Javascript.RU

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

devote,
Изначально предполагалось, что поиск производится в JavaScript коде, где строковый литерал должен заканчиваться на той же строчке кода, что и начинается, т.е. между открывающей и закрывающей кавычкой не должно быть \n. Думаете, я специально поставил точку а не [\s\S] ?? Вовсе нет, я поставил точку именно потому, что не хотел, чтобы перевод строки матчился.
Взгляните, хотя бы сюда:
Помогите составить регулярку для получения "private" переменных
где я хотел, чтобы матчился перевод строки, поставил [\s\S] (внутри комментариев /* */, а где не хотел, пославил точку (в комментариях // и в строковых литералах.
Ответить с цитированием
  #42 (permalink)  
Старый 27.03.2013, 11:17
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от rgl
где строковый литерал должен заканчиваться на той же строчке кода
кто вам такое сказал? открою вам тайну, в JS можно писать многострочные строковые переменные:

var string = 'Привет\
Как\
Твои\
Дела?';

alert(string);
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #43 (permalink)  
Старый 27.03.2013, 11:32
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Тогда все решается заменой точки на [\S\s]
var str = 'привет "МИР"! тут я поставлю кавычку " а можно и\n слеши \\ или кавычка со слешами \\" или кавычки " " или много\n слешей и ковычка \\\\\\\\\\\\\\\\" и" т.\\\\\\\\\\\\\\\\\\"д"......';

var re = /(["'])(?:\\[\S\s]|(?:(?!\1|\\)[\S\s]))*\1/g;
var res = str.match(re);
alert("Найдено: " + (res&&res.length||0) + " вхождени(е/й/я)\n--------------------------\n" + (res||[]).join("\n"));
Ответить с цитированием
  #44 (permalink)  
Старый 30.03.2013, 16:17
Аспирант
Отправить личное сообщение для yngwie19 Посмотреть профиль Найти все сообщения от yngwie19
 
Регистрация: 24.10.2009
Сообщений: 39

Ребят подскажите как использовать это регулярное выражение?:
/(["'])(?:\\[\S\s]|(?:(?!\1|\\)[\S\s]))*\1/g;


в моем примере на первой странице
Ответить с цитированием
  #45 (permalink)  
Старый 30.03.2013, 21:44
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от yngwie19 Посмотреть сообщение
Ребят подскажите как использовать это регулярное выражение?:
/(["'])(?:\\[\S\s]|(?:(?!\1|\\)[\S\s]))*\1/g;


в моем примере на первой странице
Тема уже отклонилась от первоначальной, и это выражение к вопросу на первой странице не подходит. Оно предназначено для нахождения текстовых строк, но не для замены имен переменных. Оно скорее ответ в споре с devout чем для практического применения, ибо работает не совсем правильно, т.к. находит "строки" содержащие перевод строки.
Лучше было бы так:
/(["'])(?:\\[\S\s]|(?:(?!\1|\\).))*\1/g;
Ответить с цитированием
  #46 (permalink)  
Старый 30.03.2013, 23:23
Аспирант
Отправить личное сообщение для yngwie19 Посмотреть профиль Найти все сообщения от yngwie19
 
Регистрация: 24.10.2009
Сообщений: 39

А где в этом выражении нижнее подчеркивание?
Ответить с цитированием
  #47 (permalink)  
Старый 31.03.2013, 01:10
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

В этом выражении нижнего подчеркивания нет, т.к.
Сообщение от rgl
Тема уже отклонилась от первоначальной, и это выражение к вопросу на первой странице не подходит.
Нижнее подчеркивание есть тут:
Помогите составить регулярку для получения "private" переменных
Чем-то не устраивает?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пжлста, найти (или написать) скрипт для смены картинок. Artweb Работа 9 25.02.2011 11:28
dragSelector для iframe помогите написать Golizart ExtJS 0 25.07.2010 15:35
Помогите написать скрипт для корзины Deep Элементы интерфейса 1 19.06.2010 14:46
Помогите со скриптом для onClick! Alex13 Общие вопросы Javascript 1 04.11.2009 10:36