As I wrote back on February 16h 2015 (check_smart: Your opinion is needed for a bugfix) there was something like an open vote on how to fix a bug on the Nagios plugin check_smart. I gave a deadline until the end of February 2015. Due to personal reasons (my Google+ contacts know why) I was not able to complete the work/fix the bug at the begin of March.
Finally I got to it and the bugfix is as suggested in issue #13: The syntax has slightly changed.
Before the bugfix, the regular expression was handled in the plugin itself, while the static input came from the user:
./check_smart.pl -g "/dev/sd" -i scsi
This would automatically check for all drives from a-z, therefore /dev/sda until /dev/sdz. However on FreeBSD systems this caused a bug because the drives are counting in numbers, not in letters (e.g. /dev/da0, /dev/da1, etc).
Now, after the bugfix, the regular expression is directly awaited in the input:
./check_smart.pl -g "/dev/sd[a-z]" -i scsi
It actually makes much more sense this way because the end-user can define the regular expression (and therefore also create exceptions for the regex aware admins).
The new version 5.6, released as of now, includes this bugfix. Please adapt your service definitions accordingly (only required if you make use of -g of course).