in reply to Variable in regex...

Also, when you get error messages (of the sort you posted) on a regex, give us enough literal output to UNambiguously id what the reference is, just before the second:
<--HERE
The second "<--HERE" in your error line tells EXACTLY where the error exists. In some regexen, especially those with multiple similar elements, knowing that the error occured at a close_paren may not be enough.

In this case (even before the janitorial services) spotting the error was not hard, but note also the suggestion for an alternate approach.

Updated to clarify (originally sloppy) syntax in first paragraph.