Я пробовал различные комбинации, но неуспешно при определении правильного шаблона регулярных выражений.Каким будет шаблон регулярного выражения для цепочечных функций?
В основном я хочу, чтобы захватить картины как примеры ниже:
- {{переменной}}
- {{{variable.function1 param1}}}
- {{{variable.function1 param1 } .function2 {param2}}}
и так далее ..
Я хотел захватить переменную, function1, param1, function2, param2 из этого
До сих пор у меня есть ниже регулярное выражение, которое не работает полностью
\{\{([^{}.]+)(\.([^{}]+)\{([^{}]+)\})*\}\}
Если я пытаюсь применить выше рисунок на примере 3 , я получаю ниже группы
- Group # 1 - переменная
- Group # 2 - .function2 {param2}
- группа № 3 - function2
- группа № 4 - param2
Я ожидал Somthing, как показано ниже,
- группа № 1 - переменная
- группа № 2 - .function1 {param1}
- Группа №3 - функция1
- Группа №4 - param1
- Group # 5 - .function2 {param2}
- Group # 6 - function2
- Group # 7 - param2
PS: Вы можете проверить без написания кода на http://regexr.com/3e4st
Я бы порекомендовал использовать https://regex101.com/ вместо этого, поскольку они действительно объясняют, почему он не делал то, что, по вашему мнению, он сделал бы (вам нужно было иметь скобки вокруг второй части, а также '((\. ([^ {}] +) \ {([^ {}] +) \}) *) 'vs' (\. ([^ {}] +) \ {([^ {}] +) \}) * ' ) Что касается фактического ответа, это все еще не правильно, поэтому я посмотрю, но никаких обещаний! –
Спасибо @ A.lau, пожалуйста, дайте мне знать, если найдете, tx – Amit