CLP(Sigma*): Constraint Logic Programming with Regular Sets