The only reliable way I know is to look for regexp magic on the SV:
$ perl -MDevel::Peek
my $r = qr/foo/;
my $n = 'bar';
Dump( $r );
Dump( $n );
SV = RV(0x817fb18) at 0x8152cdc
REFCNT = 1
FLAGS = (PADBUSY,PADMY,ROK)
RV = 0x81535dc
SV = PVMG(0x816dac8) at 0x81535dc
REFCNT = 1
FLAGS = (OBJECT,SMG)
IV = 0
NV = 0
PV = 0
MAGIC = 0x817c1f8
MG_VIRTUAL = 0x814ee88
MG_TYPE = PERL_MAGIC_qr(r)
MG_OBJ = 0x8175270
STASH = 0x81530f0 "Regexp"
SV = PV(0x8153b00) at 0x815360c
REFCNT = 1
FLAGS = (PADBUSY,PADMY,POK,pPOK)
PV = 0x816ba88 "bar"\0
CUR = 3
LEN = 4
Unfortunately, I don't have an easy way to do that from pure-Perl code. I've also never had the need to do so.