Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.10.2009, 04:02
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

За помощь - спасибо!
Сообщение от x-yuri Посмотреть сообщение
так вы спрашивайте, что непонятно
Сел ученик за книгу "Бейсик в два счёта", полистал сухое описание языка и операторов. Попробовал, десять раз получил 16 ошибок...
А если короче: Примеров вообще мало!
А в исходниках ExBB форумов копался, изучал регулярки, но ничего не понял...

Комментариев слишком мало и примеров.
Сообщение от x-yuri Посмотреть сообщение
да, это связано с тем, что квантификаторы по умолчанию жадные. Можно почитать в строке с ?
Хм... Честно говоря, легче было мне отлаживать десятки строк своего парсера, нежели десяток символов регулярного заклинания
Ответить с цитированием
  #12 (permalink)  
Старый 19.10.2009, 13:00
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Paguo-86PK,
А почитать документацию по тем-же PCRE нет? Или хотя бы http://javascript.ru/basic/regular-expression
Ответить с цитированием
  #13 (permalink)  
Старый 19.10.2009, 20:03
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

http://www.regexbuddy.com/
http://www.weitz.de/regex-coach/

Сообщение от Paguo-86PK
Честно говоря, легче было мне отлаживать десятки строк своего парсера, нежели десяток символов регулярного заклинания
если бы ты их знал, было бы наоборот
Ответить с цитированием
  #14 (permalink)  
Старый 20.10.2009, 01:16
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Регулярности - сингулярности. Квантовая физика легче!
Сообщение от e1f Посмотреть сообщение
Paguo-86PK,
А почитать документацию по тем-же PCRE нет? Или хотя бы http://javascript.ru/basic/regular-expression
Зря думаете, что я не перечитывал это
Сообщение от x-yuri Посмотреть сообщение
http://www.regexbuddy.com/
http://www.weitz.de/regex-coach/
Шутите? За деньги?
Сообщение от x-yuri Посмотреть сообщение
если бы ты их знал, было бы наоборот
Я и говорю, форумы локально я ставил. Как ExBB...
И изучал исходники с регулярками. Но понял, что ничего не понял

Почему-то сложно всё это... Вот последняя версия, где регулярности я могу изменять на ходу. Но и это не помогает:
<html><head><title>Parser is easy!</title><script>
function Parse(text) {
 html = new Array();
 rgl = /(•*)(([^•"']|("|')[^\4]*\4)*)(.*)/;
 exp = document.getElementsByTagName("input")[0];
 if(!exp.value)
  exp.value = "(•*)(([^•\"']|(\"|')([^\\4][^\\\\\\4])*?\\4)*)(.*)";
//(•*)(([^•"']|("|')([^\4][^\\\4])*?\4)*)(.*)
 try {
  expr = new RegExp(exp.value);
  line = expr.exec(text);
  for(i = 0; i < line.length; ++ i)
   switch(i) {
   case 0: case 3: case 4: // "Лишние" элементы зачёркиваем, делая тусклыми
    html.push(line[i].strike().fontcolor("gray"));
    break;
   case 2:                 // Основное выражение выделяем
    html.push(line[i].bold());
    break;
   case 5:                 // Зелёный комментарий курсивом
    html.push(line[i].italics().fontcolor("green"));
    break;
   default:
    html.push(line[i]);
    break;
   }
 }
 catch(e) {
  html.push("i = " + i + " is " + e);
 }
 document.getElementsByTagName("pre")[0].innerHTML = html.join("<br/>");
}
</script></head>
<body>
<textarea rows="12" cols="80" onkeyup="Parse(this.value)">•••txt = "Te\"xt•1" + 'T\'ext•2' • Commentary's</textarea><br/>
<input type=text style="width: 50%" value="" onkeyup="Parse(document.getElementsByTagName('textarea')[0].value)"/>
<pre></pre>
</body>
</html>

Последний раз редактировалось Paguo-86PK, 20.10.2009 в 02:06.
Ответить с цитированием
  #15 (permalink)  
Старый 20.10.2009, 01:44
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Paguo-86PK
Шутите? За деньги?
во-первых платная только первая...

Сообщение от Paguo-86PK
Вот последняя версия, где регулярности я могу изменять на ходу. Но и это не помогает
регулярностей не бывает, комментарий в 6-ом подшаблоне
Ответить с цитированием
  #16 (permalink)  
Старый 20.10.2009, 02:51
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Регулярности, сэр, это Вам не квантовая физика
Сообщение от x-yuri Посмотреть сообщение
во-первых платная только первая...
А что это вообще за программы?
Если не ошибаюсь, помогают разрабатывать регулярки?
Наподобии Пролога?
Типо описываешь задачу: Вход - Выход...
А программа строит (угадывает) механизм...
Так?
Сообщение от x-yuri Посмотреть сообщение
регулярностей не бывает, комментарий в 6-ом подшаблоне
не понял, о чём речь...

В википедии нашёл Regular Expression Editor, который не хочет работать. Java разрешил, не помогло.
Однако в IE заработала после всех установок...

Вуа-ха-ха... Все ссылки валидаторов проверил. Куда ни ввожу свои выражения, пишет No matches, хоть убей! Уже и • заменил на _, не помогает

Последний раз редактировалось Paguo-86PK, 20.10.2009 в 04:22.
Ответить с цитированием
  #17 (permalink)  
Старый 20.10.2009, 13:37
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Paguo-86PK,
Ищите, в чем бага В регулярных выражениях, если не залазить глубоко, нет совершенно ничего сложного -- это всего-навсего шаблон. Вы файлы по маске искали ведь когда-то? Та же регулярка, вид сбоку.
Ответить с цитированием
  #18 (permalink)  
Старый 20.10.2009, 19:28
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Я уже зарегулярился совсем
Сообщение от e1f Посмотреть сообщение
Вы файлы по маске искали ведь когда-то? Та же регулярка, вид сбоку.
Я и до сих пор ищу.
Стоит у меня и Volcov Commander 4, и Hiew...
Только в дос маски с ? и * - одно название

А в Perl я однажды изучал эти регулярки. Голова запухла. Бросил Perl, ушёл в PHP, но регулярки обходил за версту. Написал гостевую книгу со встроенным гороскопом и смайлами без регулярок, но собственным разбором. Сложно очень, сейчас смотрю и не понимаю свой же код. А доработать надо. И подсказок нет: Код с "потолка" списывал, без тупого Copy'n'Paste, так-как интересно было изучать PHP: Си-синтаксис, но на серваке

Сейчас регулярки изучаю так, что во сне снились. Проснулся уставшим: Во сне регулярки тестил и тестил
Ответить с цитированием
  #19 (permalink)  
Старый 20.10.2009, 19:30
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Paguo-86PK,
ну что там тестить? банальный набор логичных правил... честно говоря, Вы первый на моей памяти, кто говорит, что сталкивался с регулярками, разбирался, и ниасилил.
Ответить с цитированием
  #20 (permalink)  
Старый 21.10.2009, 07:02
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Регулярки? Это просто!
Сообщение от e1f Посмотреть сообщение
Paguo-86PK,
ну что там тестить? банальный набор логичных правил... честно говоря, Вы первый на моей памяти, кто говорит, что сталкивался с регулярками, разбирался, и ниасилил.
Более-менее разобрался
Вот регулярка (•*)(([^•"']|("|')(\\.|[^\4])*?\4)*)(.*) которая всё делает как надо. Удивительно, как парсер уменьшился в размерах!
Потратил на неё более четырёх часовДа и с механизмами try-catch разобрался и опыта набрался
Спасибо за старт-помощь
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулярные выражения php HelpeR Серверные языки и технологии 5 15.09.2009 21:09
Регулярные выражения ? grusha jQuery 34 03.03.2009 22:29
Регулярные выражения вытаскивание по шаблону baal1988 Общие вопросы Javascript 27 09.10.2008 10:51
Регулярные выражения задача посложнее faunder Общие вопросы Javascript 5 15.09.2008 14:17
Регулярные выражения faunder Общие вопросы Javascript 2 15.09.2008 09:49