This is a shell variable substitution notation for removing the largest prefix pattern matching the expresion after ##. This expression is a shell pattern rather than a regular expression one. In this case, its removes the longest prefix from $0 ending in /. For example, for the script below:
/home/user/> cat /home/user/script
echo 'Value of $0 ' : $0
echo 'Value of ${0##*/}' : ${0##*/}
/home/user/> sh script
Value of $0 : script
Value of ${0##*/} : script
/home/user/> sh /home/user/script
Value of $0 : /home/user/script
Value of ${0##*/} : script
From FreeBSD sh manpage:
${parameter##word}
Remove Largest Prefix Pattern. The word is expanded to produce a
pattern. The parameter expansion then results in parameter, with
the largest portion of the prefix matched by the pattern deleted.
Although this is FreeBSD sh manpage, the same applies to all Bourne like shells around.
cmdname=$(basename "$0"); you can look up thebasenamecommand quite easily.