parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 03.05.2014 04:50 / 03.05.2014 04:55

1. всегда "правильнее" писать в шаблоне конструкцию вида:
<начальный символ><всё что угодно кроме конечного символа><конечный символ>
вместо
<начальный символ><всё что угодно, но минимальной длины><конечный символ>

например шаблон поиска непустых аттрибутов без парсерного экранирования (выглядит проще для понимания, т.к. нет кучи regex-эскейп символов, которые есть в случае квадратных скобок):
".+?" => "[^"]+"

2. возможно я запутал, назвав метод create. наверное название dive подошло бы лучше. если будете использовать этот код у себя, лучше переименуйте.

P.S. ради интереса я сам потестировал код. тот, что с микрооптимизациями -- лучше в плане расхода памяти, причём разница заметна и без микроскопа. сравнивал и с начальным своим кодом и с некоторыми промежуточными вариантами.