Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить текст между <% %> если есть хоть одна, RegExp 
:(
    Опции темы
mxt
Дата 1.8.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: нет
Всего: 1



Получить текст между %> <% если есть хоть одна, ковычка

использую в String.replace

/%>[^<%]*'[^<%]*<%/g



но проблема в том, что он реагирует на символы <  и % по отдельности ( по скольку "[]" перечисляет символы, и происходит совпадение с одним или более символом из списка)


тоесть он игнорирует строку 
Код

%>  <    >  ' % ' <%


а эту нет
Код

%> текст ' текст <%



я не дорубляю как сделать чтоб он  реагировал только на группу символов "<%" и "%>"


Это сообщение отредактировал(а) mxt - 1.8.2008, 17:17
--------------------
PM MAIL   Вверх
Sannis
Дата 1.8.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: нет
Всего: 13



Код

/%>*?'*?<%/g
?)


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
mxt
Дата 2.8.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: нет
Всего: 1



Цитата(Sannis @  1.8.2008,  23:24 Найти цитируемый пост)

/%>*?'*?<%/g
?)




это я в первую очередь написал, но есть одно но:
если переделать выражение в 
Код

/%>.*?'.*? $/g


ТО из строки:
Код

<% test %>  <%=test%>  <% test %> \n <%=test%>  <% test %>  %> '>text ' text \n<%=data%> (<%=text%>)\">vv''vsdf aaa''''''ff КОНЕЦ.

будет выбрано не эта часть
Код

%>)\">vv''vsdf aaa''''''ff КОНЕЦ.




+ ряд   минусов с использованием   .
 

Это сообщение отредактировал(а) mxt - 2.8.2008, 10:12
--------------------
PM MAIL   Вверх
Sannis
Дата 2.8.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: нет
Всего: 13



Вместо точки можно использовать что-то другое, учитыващее особеннности, которые вам мешают. А про то, что нужно выбирать и фрагменты, ограниченные с одной строны вы не написали. Тогда должно сработать что-то такое:
Код

/(^|%>).*?'.*?(<%|$)/g



--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
mxt
Дата 2.8.2008, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: нет
Всего: 1



Код

/(^|%>).*?'.*?(<%|$)/g


это примерно тоже что и 
Код

/%>.*?'.*? $/g



поэтому работать не будет. + он будет грабать от начала строки до конца.  хз. придется добовлять разную символику в перечисление.
--------------------
PM MAIL   Вверх
mxt
Дата 2.8.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: нет
Всего: 1



короче

Код

/%>((?!<%).)*?'((?!<%).)*?$/g



будет нагруженно, но работает.
если у кого есть идея лучше, пишите сюда

Это сообщение отредактировал(а) mxt - 2.8.2008, 13:18
--------------------
PM MAIL   Вверх
Sannis
Дата 2.8.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: нет
Всего: 13



Тогда подкорректируйте вопрос, ибо сообщения #1 и от 2.8.2008, 10:10 не стыкуются. Почему из строки
Код

<% test %>  <%=test%>  <% test %> \n <%=test%>  <% test %>  %> '>text ' text \n<%=data%> (<%=text%>)\">vv''vsdf aaa''''''ff КОНЕЦ.
вы хотите получить
Код

%>)\">vv''vsdf aaa''''''ff КОНЕЦ.
, а подстроку
Код

%> '>text ' text \n<%
отбрасываете? Значит ли это, что правило из первого сообщения
Цитата(mxt @  1.8.2008,  17:12 Найти цитируемый пост)
Получить текст между %> <% если есть хоть одна
неполное?


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
mxt
Дата 3.8.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: нет
Всего: 1



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

2. после того как увидел знакомый способ, немного подкоректировал .

3. Вы отпостили примерно похожее рег. выражение, что и до этотого (частично  выполняющее данные условия).  я пошел еще раз прочитывать мануал.

4. Нашел ответ на свой вопрос.




Хотя думаю что мне стоило указать все детали в вопросе

Это сообщение отредактировал(а) mxt - 3.8.2008, 10:49
--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.