Update:
Since beside the y value there might be a or b, you may use
^\$2[ayb]\$.{56}$
See the regex demo online. Details:
^ - start of a string
\$ - a literal $ char (it should be escaped in a regex pattern to match a literal $ char, else, it will denote the end of string)
2 - a 2 char
[ayb] - a character class matching any single char out of the specified set
\$ - a $ char
.{56} - any 56 chars other than line break chars (if not POSIX compliant regex engine is used, else, it will match any chars; to match any chars in common NFA engines, replace . with [\s\S] or use a corresponding DOTALL flag)
$ - end of string.
Original answer
Your regex - {?A-Za-z_0-9.{60}}? - contains ranges not inside a character class [...], but inside optional curly braces, and thus they present sequences of literal characters. See your regex demo to see what I mean.
You can use the following regex:
^\$2y\$.{56}$
See demo
The ^ matches the start of string, \$2y\$ matches $2y$ literally (as $ is a special character and needs escaping) and .{56} is the rest 56 characters.