1. PHP / Говнокод #4212

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /* That revolting regular expression explained 
    /^(\w+)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/
      \---/  \---/\-------------/    \-------/
        |      |         |               |
        |      |         |           The value
        |      |    ~,|,^,$,* or =
        |   Attribute 
       Tag
    */

    Это НЕ говонокод, просто коммент к регулярке, просто очень понравился и хотел показать...
    Иногда регулярки очен запутанами бывает, и редактировать их турдно без нормальной комментов.
    Нашел в shop-script

    Запостил: termes, 10 Сентября 2010

    Комментарии (16) RSS

    • руская язик ниасилил?
      Ответить
    • а почему бы не писать регулярки в несколько строк?
      Ответить
    • Ну а чё, было дело, и не так расписывал :)
      /^(\w+)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/
                                                    конец строки 
                                                   ]
                                                " (необязательно)
                                        Значение: кроме ], "
                                     " (необязательно)
                                   = (необязательно)
                     1 из ~, |, ^, $, *, = (необязательно)
                Атрибут: хотя бы 1 символ
             [ 
         Тег: хотя бы 1 символ
      начало строки
      Ответить
      • Где накосячил? Признавайтесь.
        Ответить
      • остается вопрос "зачем?"
        Ответить
        • А вы таки всё на лету с первого раза схватываете? ;) Исключительно в учебных целях.
          Ответить
          • т.е. самому себе расписать по символам, что есть что в регулярке? у меня такое имхо, что если понял суть регулярок, то это уже навсегда - как на велосипеде ездить. лучший учитель - мануал и разбирание действующих регулярок, тогда нейроны в голове постепенно выстраиваются в нужном порядке, и происходит соединение с космическим разумом...
            Ответить
            • > разбирание действующих регулярок
              Именно так. Полезно разобрать несколько сложных примеров (и держать перед глазами). Никто же не говорит, что так нужно делать постоянно.
              Ответить
              • начинать все же всегда лучше с самого простого, усложнять по мере понимания - и, конечно же, реальные применения, практика.
                сразу сложное выглядит как мантра для зубрежки
                Ответить
            • cosmic regexp...
              Квантовый скачок через двенадцатое измерение...
              ---
              говнокоды хиггсовых полей...
              Ответить
    • вот я продолжаю не понимать, зачем обучение начинать с разбора примера? мол, здесь то, а здесь это.
      Тогда у хомячков нейроны выстраиваются в жесткую ассоциацию теории с конкретным примером, и любой другой пример они уже неспособны осилить
      Ответить
      • не всегда. хороший пример может заменить несколько страниц мануала для схватывания сути.
        а если человек понял, что 2*2=4, но не знает, как посчитать 3*3, то проблема вообще не в способе обучения.
        Ответить
        • > заменить
          дополнить, имхо
          Ответить
          • "заменить ... для схватывания сути", а не вообще заменить. мануалы никто не отменяет.
            Ответить
            • ну я тоже говорил не о замене, а о порядке изучения. имхо, вначале теория, а потом примеры, а не наоборот
              Ответить
    • ИМХО это все же говнокод. Есть такой чудесный модификатор x, который позволяет писать регулярки с каментами и в несколько строк. RTFM!
      Ответить

    Добавить комментарий