I’m trying to parse some AS3 with the use of Regular Expressions. I cannot, for the life of me, figure out how to omit matches that are inside of string quotations. I need to match test in the variable name testString, but not the test thats between the quotations. I don’t want to match anything that’s part of any string’s content.
var testString:String = "This is a test String";
Patrick brought up some good points about escaped quotes and single-quoted strings, but it’s even worse than that: what about comments? Comments can contain quotes (double or single), and string literals can contain things that look like comment delimiters. And don’t forget regexes themselves: regex literals can contain any of those things, and regexes can also be written in the form of string literals for use with the RegExp constructor.
If you know in advance that such syntactic overlaps won’t happen (or will be very limited), you might be able to do what you want, but it will probably be very ugly. But what you really need is a full-blown parser, or a completely different approach to the underlying problem. I know it sounds like a very simple thing to do, but it’s just a really bad fit for the way regexes work.