Comments 6
Я по синтаксису подумал, что разбирают исходники Jinja.
+4
Но ведь Ваш парсер сломается на {{ "}}" }}.
0
Jinja и Django тоже «сломаются»
0
Не спорю, что в каких-то «исключительных» ситуациях регулярное выражение может некорректно отрабатывать и нам нужно будет усложнять регулярку, чтобы решить возникшую проблему. Для чего, конечно же придется анализировать и то, что заключено в фигурных скобках (т.е. не учитывать их, если они заключены в кавычки, поскольку это приведет не к корректному поведению). Тем более, стоит учесть, что это простейший пример шаблонизатора, в котором реализована лишь самое простое. Добавлять улучшения можно до бесконечности.
В большей степени, мы предполагаем, что программист опишет некую часть внутри HTML-кода корректно и без ошибок (не зря же все-таки решил использовать наш шаблонизатор).
В большей степени, мы предполагаем, что программист опишет некую часть внутри HTML-кода корректно и без ошибок (не зря же все-таки решил использовать наш шаблонизатор).
0
TOK_REGEX = re.compile(r"(%s.*?%s|%s.*?%s)" % (
VAR_TOKEN_START,
…
при таком способе формирования регулярки, подставляемые значения нужно re.escape()'ить.
0
Sign up to leave a comment.
Пишем свой шаблонизатор на Python