I am using SobiPro, a directory system for joomla and I have a field that will have values that contain alphanumerics and hyphens only, so a sample of what might be in this
Try this:
[-\w\s]+(,[-\w\s]+)*
[-\w\s] means a word character, space or hyphen.
[-\w\s]
A word character usually includes _, so you may want to replace that with A-Za-z0-9 if you want to prevent this.
_
A-Za-z0-9
[-A-Za-z0-9\s]+(,[-A-Za-z0-9\s]+)*