Я работаю с системой шаблонов javascript для веб-сайта, который я создаю, и у меня возникла небольшая проблема.
Я использую следующее регулярное выражение для сопоставления с разделами в моей строке:
/(\{\{(#|\^)(.*?)\?\}\}(.*?)\{\{\/(.*?)\?\}\})/
Подача этой строки, такой как:
{{#is_user?}} The user is an user {{/user?}}
При указании «user» = true отображает строку. Когда is_user установлен в false, строка не отображается. Однако я обнаружил, что это не дает места для вложения как таковое, что:
{{#is_user?}} The user is an user {{#has_picture?}} and has a picture{{/has_picture?}} {{/user?}}
Это приведет к следующему:
The user is an user {#is_user?}} The user is an user{{/user?}}
Таким образом, это означает, что найдено совпадение между {{#is_user?}} И {{/ has_picture?}}, Поскольку регулярное выражение просто проверяет совпадение между {{# anystring?}} И {{/ anystring? }}.
Теперь мой вопрос: возможно ли сказать, что совпадение существует только в том случае, если две строки в скобках равны, так что совпадение найдено только в том случае, если {{#stirngA?}} {{/StringA? coming угр. 1017 *