Не удается найти правильное регулярное выражение для разбора - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь написать свой собственный шаблонизатор, который дает мне возможность использовать что-то вроде заполнителей внутри html.

Пример регулярного выражения, которое я пробовал:

{:(.+):\s(.*)}

Itработает, но, к сожалению, не так, как я хочу. Я пытаюсь получить имя заполнителя и его аргументы, желательно разделенные. Вот пример: https://regex101.com/r/Z7KahK/1

Во-первых, он соответствует "var" и "any_id". Мой анализатор ищет переменную с именем «any_id» и заменяет весь заполнитель.

Второй (и далее), например, «render». Он совпадает с именем заполнителя и всеми его аргументами вместе, что я на самом деле не хочу. Я хочу сопоставить каждый аргумент в отдельности.

Например:

Match 1 = render
Match 2 = partial (_order/service_section)
Match 3 = args (myArguments)

Этот заполнитель будет заменен новым файлом (предоставляется как аргумент «частичный» с дополнительными аргументами («аргументы»))в этом аргументе.

Я не совсем уверен, что вы понимаете, что я пытаюсь сказать, но я изо всех сил старался написать это как можно лучше.

...