E il doppio slash \\ che vuol dire?

Ho un programma che data l'espressione regolare ER= {\\?(.*)\\?\\} e data una stringa, pesca dalla stringa quella parte che matcha l'ER

Input dato al parser:
<password>{?A?}</password>
Output ottenuto dal parser:
A

Input dato al parser:
<password>{?A?}</password><password>{?B?}</password>
Output ottenuto dal parser:
A?}</password><password>{?B

come è possibile? è sbagliato il programma del parser?
grazie