<?php
if (preg_match('/Re: (?!Re: )/',$str)){
echo 'Exactly one "Re: " at the beginning of $str';
}
?>
I think this is what you wanted.
(?!Re: ) looks ahead to check if there ain't another 'Re: ' after the first one.
You can make the space after 'Re:' optional and the regular case-insensitive with this regex:
<?php
if (preg_match('/Re: ?(?!Re🙂/i',$str)){
echo 'Exactly one "Re:" at the beginning of $str';
}
?>