I am trying to come up with a regular expression to match Bitcoin addresses according to these specs:
A Bitcoin address, or simply address, is an iden
[^OIl] matches any character that's not O, I or l. The problems in your regex are:
$ at the end, so it'd match any string beginning with a BC address.{27,34} - that should be {26,33}However, as mentioned in a comment, a regex is not a good way to validate a bitcoin address.