Если вы посмотрите на приведенный ниже фрагмент кода, я пытаюсь сопоставить все [STRING]
, которые находятся внутри блока Param ( ... )
ТОЛЬКО .
Я был на этомкакое-то время, и я просто не могу понять, как это сделать.Я пытался использовать lookaheads, lookbehind, рекурсию и ссылки на группы захвата.
То, что у меня сейчас есть: (?<=Param\(\s*\1|)(\[\w*\])
Код:
Param(
[STRING]$CustomerName,
[STRING]$ClusterName,
)
[STRING]$CustomerName,
[STRING]$ClusterName,
Чего я хочу достичьс регулярным выражением соответствует всем [STRING]
, если первое [STRING]
также соответствует Param (
.А затем продолжайте сопоставление до тех пор, пока не будет найдена закрывающая скобка )
.
Regex101 Демонстрация: https://regex101.com/r/hVeb8R/1
Я использую там javascript, поскольку он, похоже, близко соответствует ожидаемой функциональности для C #.