See my post below, I briefly had my terminology totally blown and was confusing the grammar you proposed (totally valid) and what I proposed (the exact same thing) with the idea of a regular expression solution ... which was the result of skimming your post waaaay too fast.
We are talking about the same thing, I agree -- as I said below, my fault!