Was there any discussion about the XML syntax here?  What about type="ci regexp" ?  Why is case-insensitivity the type, and regex is a flag on the side?  It feels like it should be the other way around.  I know type="ci" is already being used. I'd use type="regexp ci".  Split the type into words, and use `"ci" in type` to determine ci, etc.