Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь с регуляркой (https://javascript.ru/forum/misc/35409-pomoshh-s-regulyarkojj.html)

kobezzza 10.02.2013 16:31

Цитата:

Сообщение от Deff (Сообщение 232882)
kobezzza,
:( Мучаешь - я тут от дел лыню,...
Идея реализуемо, но имхо длинотельна

Извини:) Я кстати задачу решил:

(["']).*?[^\\\1]\1
- это регулярка вырезает содержимое строк, (вырезанной добавляем в специальный массив), затем делаем уже совсем простой поиск нужно и обратную замену, итого

var a = 'return el == "fodfdf df \" \" dfdf" && this && "dfdsfdsfs"'.replace(/(["']).*?[^\\\1]\1/g, '');
alert(/\bthis\b/.test(a))


Спасибо за участие:)

ЗЫ: и правда волшебный форум, неск дней не мог допереть, а тему создал так за 30 минут всё решил)

Deff 10.02.2013 16:33

есть еще ксать и такой вариант
\" this "

\' this '

kobezzza 10.02.2013 16:34

Цитата:

Сообщение от Deff (Сообщение 232886)
есть еще ксать и такой вариант
\" this "

\' this '

Мммм...ты про что?

Deff 10.02.2013 16:37

'fodfdf \"df dfdf "&& \" this * "this" '

kobezzza 10.02.2013 16:45

Цитата:

Сообщение от Deff (Сообщение 232888)
'fodfdf \"df dfdf "&& \" this * "this" '

var a = 'fodfdf \"df  dfdf "&& \" this * "this" '.replace(/(["']).*?[^\\\1]\1/g, '');
alert(/\bthis\b/.test(a))


Всё ок, т.к. последний this указан без кавычек. Да и в моём случае, такая конструкция не валидна, т.к. у меня анализируется код функций JS, а там такой синтаксис упадёт:)

PS: я пишу JIT компилятор для своего Collection, вот и извращаюсь)

Deff 10.02.2013 16:55

Цитата:

Сообщение от kobezzza
PS: я пишу JIT компилятор для своего Collection, вот и извращаюсь)

Да понял ужо, ... тут тож попробовал,.. на Хабре статейка была пару недель назад, поиск отимизация поиска по массивaм

kobezzza 10.02.2013 16:58

Цитата:

Сообщение от Deff (Сообщение 232894)
была пару недель назад, поиск отимизация поиска по массивaм

О, можешь ссылку дать (через поиск не нашёл), не читал.

Deff 10.02.2013 17:14

http://habrahabr.ru/post/167177/


Часовой пояс GMT +3, время: 21:37.