Показать сообщение отдельно
  #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.
Ответить с цитированием