unless($tax_collection ~= /^([a-zA-Z]+|\b,\b)+$/) {...
No, that's not going to work because it allows the comma to appear at the beginning and/or end of the string, which doesn't meet the original post's spec. Beginning and End of string count as word boundries, so your method fails.
Update: Now it's a matter of public record: I made a simple mistake in intrepreting Anonymous Monk's regexp. (S)He is correct in his assertion. The method works.
Dave
"If I had my life to do over again, I'd be a plumber." -- Albert Einstein
| [reply] [d/l] |
Yes, Beginning and End of string count as word boundaries, but only adjacent
to a \w character, which ',' is not a member of.
| [reply] |
Ack! You got me. haha. You are, of course, correct. \b,\b works because there is no word boundry at the junction of comma and end of string, or comma and beginning of string. It also works because there is no word boundry at the junction of two proximate commas. Good solution, and kudos for coming up with the briefest one so far. ;)
Dave
"If I had my life to do over again, I'd be a plumber." -- Albert Einstein
| [reply] |