Os parênteses são um caractere especial no REGEX, pois criam um "grupo correspondente". Então, se você precisar escapar deles com uma barra invertida ( \
). Você também gostaria de escapar do período / fullstop, pois isso também tem um significado especial na regex:
Request\.ServerVariables\("(.*)"\)
No entanto, esta é uma correspondência bastante liberal - para garantir que você só passe o perem final do Request.ServerVariables("...")
que preferiria:
Request\.ServerVariables\("([A-z_]+)"\)
Isso forneceria uma correspondência entre as cotações de apenas A-z
e _
.
Um ótimo recurso para você aprender mais sobre o Regex é Regexr . Tem um editor de texto ao vivo, onde você pode experimentar diferentes padrões e ver como ele combina com o seu exemplo. Ele também tem uma janela "Samples" que dá dicas sobre o que as peças fazem.
Se você deseja encontrar / substituir com mais facilidade (e isso não é uma regex elegante), é possível fazer mais grupos correspondentes:
Find: (Request\.ServerVariables)\(("[A-z_]*")\)
Replace: $1[$2]