Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2011, 12:28
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

RegExp очень нужна рекурсия и ссылочность
в регулярных выражениях есть очень много всякого,
но не хватает рекурсии, ссылочности, маркировке
ломаю над этим делом пипец как много времени

чисто для тех кто не знает или недопонял

маркировка - это когда на регулярное выражение или часть его накладывается маркер(отметина или просто называют его как то)
выглядит это примерно так

/(?tag: <\w+[^>]>)/gim

ссылочность - это когда в регулярном выражении можно ссылаться на другое регулярное выражение или пойманный результат

/(?tag: <(?name:\w+)[^>]>(tag:)<\/\2>)/gim

рекурсия — процесс повторения чего-либо самоподобным способом. Например, вложенные отражения, производимые двумя точно параллельными друг другу зеркалами, являются одной из форм бесконечной рекурсии. Данный термин имеет более специальные значения в различных областях знаний — от лингвистики до логики.

пример такой же как и выше
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2011, 12:32
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Ну можете реализовать свой движок регэкспов с блекджеком и ш рекурсией и ссылочностью, но, я думаю, этот вариант Вас не сильно устроит.
Вместо этого изворачивайтесь, используя стандартные средства. А тут, чтобы Вам что-либо посоветовать, нужно знать, для чего Вам нужны эти возможности.
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2011, 12:50
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

Сообщение от B@rmaley.e><e Посмотреть сообщение
Ну можете реализовать свой движок регэкспов с блекджеком и ш рекурсией и ссылочностью, но, я думаю, этот вариант Вас не сильно устроит.
Вместо этого изворачивайтесь, используя стандартные средства. А тут, чтобы Вам что-либо посоветовать, нужно знать, для чего Вам нужны эти возможности.
переделка движка меня тоже устроила,
стандартными методами уже замучился писать,
парсер цыклизируеть выключает браузер постоянно,
ошибок тьма тьмущая при генерации кода,
и при выполнении рекурсию останавливать не так просто получается,
черновых кодов уже на 18МБ накопилось, не считая того что стёр по ходу,


а чтука нужна для выполнения множеств различных задач
к примеру разметка HTML кода и нахождение ошибок в нём.
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2011, 13:13
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от scuter
черновых кодов уже на 18МБ
18кб?

Сообщение от scuter
стандартными методами уже замучился писать
личто я вижу тут только один способ - передавать строку типа '/..../' и распарсивать, но этому способу грошь цена
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2011, 19:32
Аспирант
Отправить личное сообщение для RX200 Посмотреть профиль Найти все сообщения от RX200
 
Регистрация: 06.02.2011
Сообщений: 54

scuter
А что значит этот код:
/(?tag: <\w+[^>]>)/gim
/(?tag: <(?name:\w+)[^>]>(tag: )<\/\2>)/gim
Особенно то что выделено? Что то я раньше такого не встречал и в справочнике по регулярным выражениям нету.

Последний раз редактировалось RX200, 14.08.2011 в 19:40.
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2011, 20:02
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

Сообщение от RX200 Посмотреть сообщение
scuter
А что значит этот код:
/(?tag: <\w+[^>]>)/gim
/(?tag: <(?name:\w+)[^>]>(tag: )<\/\2>)/gim
Особенно то что выделено? Что то я раньше такого не встречал и в справочнике по регулярным выражениям нету.
это маркеровка т.е. какое то выражение находится в скобках,
и мы его маркируем каким то именем

в одной библиотечке такое сделали
Цитата:
Capture: (?<name>⋯)
Backreference in regex: \k<name>
Backreference in replacement text: ${name}
XRegExp("\\b (?<word>[a-z]+) \\s+ \\k<word> \\b", "gix");
xregexp.com
только вот эта штука совсем не подходит
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2011, 20:44
Аспирант
Отправить личное сообщение для RX200 Посмотреть профиль Найти все сообщения от RX200
 
Регистрация: 06.02.2011
Сообщений: 54

scuter
Незнаком с XRegExp.
Если я правильно понял то нужно получить все что между тегов, в которых могут быть вложенные теги, или даже пересекающиеся, и потом ещё и проанализировать?
Ответить с цитированием
  #8 (permalink)  
Старый 14.08.2011, 20:53
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

Сообщение от RX200 Посмотреть сообщение
scuter
Незнаком с XRegExp.
Если я правильно понял то нужно получить все что между тегов, в которых могут быть вложенные теги, или даже пересекающиеся, и потом ещё и проанализировать?
ты правильно понял,
только это одна из задач.
Ответить с цитированием
  #9 (permalink)  
Старый 15.08.2011, 03:27
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

Сообщение от monolithed Посмотреть сообщение
Сообщение от scuter Посмотреть сообщение
черновых кодов уже на 18МБ
18кб?
нет там всё правильно написано
Сообщение от monolithed Посмотреть сообщение
Сообщение от scuter Посмотреть сообщение
стандартными методами уже замучился писать
личто я вижу тут только один способ - передавать строку типа '/..../' и распарсивать, но этому способу грошь цена
я нашел 3 основных способа
1 парсить регулярку
2 своим синтаксисом частично заменить
3 движёк RegExp переделывать
Ответить с цитированием
  #10 (permalink)  
Старый 18.08.2011, 19:27
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

http://stackoverflow.com/questions/1...732454#1732454

http://ru.wikipedia.org/wiki/%D0%9B%...%D0%B8%D0 %B7
__________________
.ня
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужна помощь с Ext JS dcbal ExtJS 1 09.07.2010 13:15
Очень нужна помощь! sdff Общие вопросы Javascript 3 12.10.2009 15:05