Regular Expression to find a string in between any characters (Including special chars and Parentheses)

Hi

New here. 

I am looking for a function to return string between strings 

something like this:

function GetBetween {
#param( [string]$Instring, [string]$Bet1, [string]$Bet2)
$Instring = $args[0].Trim()
$Bet1 = $args[1].Trim()
$Bet2 = $args[2].Trim()

$Instring = $Instring.ToUpper()
$Bet1 = $Bet1.ToUpper()
$Bet2 = $Bet2.ToUpper()
#Write-Output "Getbetween-Instring $Instring"
#Write-Output "Getbetween-Bet1 $Bet1"
#Write-Output "Getbetween-Bet2 $Bet2"

#$Regex = [Regex]::new("(?<=$Bet1)(.*)(?=$Bet2)")
$Regex = [Regex]::new("(?<=\$Bet1)(.*)(?=\$Bet2)")
$Match = $Regex.Match($Instring)
#if($Match.Success) { Write-Output "Getbetween-Result $Match" }
return $Match
}

.

.

When I run this:

$ttlist = "AAAAA(PROD)BBBBB"
$tts = Getbetween $ttList "(" ")"
Write-Host "AAAA $tts"
it works fine and return PROD
.
.
But
When I run this:
.
.
$ttlist = "AAAAA(PROD)BBBBB"
$tts = Getbetween $ttList "P" "D"
Write-Host "AAAA $tts"
I get error 
.
.
I guess this is because the Regex is escaping the parameters given 
.
My question
is there Regex that will handle both Special characters and regular characters ?
any other idea how can I change this function to support any character given.
many thanks for help