in reply to Regexp issue

If a symbol doesn't have a special meaning (ie, it is a meta-character), including it in the regex without modifier means it must be present exactly once. {1} changes the previous token so that it is required exactly once, so it doesn't actually change anything after ".

Inside [], most of the special meanings are thrown away, and each character is included separately as possible alternative. So ["{1}] means ", or {, or 1, or }. ^ inside [] negates the meaning, so [^"{1}] is one character that can't be 1 (or ", {, }). In your input string, the character after " is 1, which is not allowed, so the match fails.