YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AZJIO Цитата: Правильное составление зависит от знания всех возможных ситуаций, а при учитывании, что комментарии могут содержать ситуации которые могут быть в обычном тексте, то ситуация стремиться к бесконечности вариаций. | Естественно, именно это и имел в виду, упоминая предварительный анализ текста перед обработкой... и да, помимо желания, необходимо ведь ещё и хорошее знание синтаксиса языка, исходные коды которого будем обрабатывать. Не уверен, что у меня оно (знание) есть... Цитата: Начинать исключать комментарии? | Почему нет? Комментарии, они и в Африке комментарии - ни на что не влияют, ни к чему не обязывают... имхо, вполне можно и исключить из обработки. Цитата: Да их просто удалить потребуется несколько регулярок, а чтобы обработать зная что ты находишься не внутри комментариев, это только на словах так красиво можно излагать. | Так ведь, это у нас пока, просто разговор, без предмета обсуждения. Можно, что угодно говорить... красиво или нет - к сути вопроса это имеет отдаленное отношение. А предметно можно говорить, когда перед глазами будет пример массива текста и правильно составленные условия задачи. Цитата: Вот пример, нужно чтобы комментарии начинающиеся с начала строки имели вид "; т", а в конце строки кода " ; т", а если комментарий пустой то удаляем ;(?!\h) "; " [^\r\n]; " ;" \r\n\h*?;\h*?\r\n \r\n\r\n Вот соедини три регулярки в одну, и да, нужно учесть что строки ;{ ;} являются блоками сворачивания и их нельзя ломать. Вот соедини три условия в одно с учётом 4-го правила. | См. выше: Необходим массив текста (потому как изобретение велосипеда может привести к созданию транспортного средства с квадратными колесами...), включающий в себя наиболее сложные моменты и условия задачи... а просто соединять регулярки, наверное, не особо продуктивно, т.е. не вижу пока смысла. Цитата: Если ты считаешь что можно три различные регулярки использовать одним проходом | Совсем наоборот, считаю, что чем регулярка проще, тем она надежнее и производительнее. Но тут многое зависит от ситуации, т.е. от условий задачи, конечно. Цитата: если находит 1 вариант то не возвращается чтобы проверить не совпал ли другой вариант, а часть одного может быть частью другого, а там где приоритет первого, в другом тексте может быть приоритет второго, но приоритет в регулярке не регулируется, сначала проверяется не совпадает ли первый, если отмена, то проверяет второй, а если оба имеют возможность захватить, но сработает нерелевантный. Даже если предположить что можно написать изощрённый метод регулярку на пол-страницы с многократными откатами, то это опять только предположение, как если бы я сказал челу если фотошоп, винду кто-то написал, то почему ты не можешь. На данный момент я готов на синицу в руках, а не на журавля в небе. | Если говорить о задаче в целом, а не разбирать частности, то вот, верно же, выше говорят: почему бы не использовать возможности какого-либо ЯП? Рассчитывать на возможности чистых регэкспов, при достаточно сложной задаче, не совсем продуктивное занятие, а зачастую, при использовании и затратное по времени обработки. Добавлено: Цитата: Ну если заявляешь что регулярка всё может | где это было такое заявление? Плюнь тому в лицо, кто такое заявляет... |