Re: the previous comment by Mad Sweeney:

You can quote portions of variables on the RHS just fine, but for the match to work the overall pattern you're trying to match must not be enclosed in *outer* quotes. So for instance, the following modification of your script works fine (matches): 

---
 server="hackerpublicradio.org"

for re in 
    publicradio"."org
do
    echo "Using regular expression: $re"
    if [[ $server =~ $re ]]; then
        echo "This is HPR"
    else
        echo "No match"
    fi
done
---

Note that there are no outside quotes on publicradio"."org. 

The issue was visible from the echoes given out by bash. When you received the message

Using regular expression: ^(hacker|hobby)publicradio"."org$
No match

you can see bash was searching for actual quotes around the period, which of course are not there in the string $server.