Time spent in forums: 5 Months 2 Weeks 2 Days 9 h 22 m 52 sec
Reputation Power: 9259
1. $ isn't a character like . or \w or \d. It's an assertion. It means "at this point the string has to end". Putting it inside a character set doesn't make sense, thus when you do so it reverts to the literal character (ie, "a dollar sign").
2. Using character set for a single character is quite unnecessary.