I’m working on this pretty big re-factoring project and I’m using intellij’s find/replace with regexp to help me out.
This is the regexp I’m using:
\b(?<!\.)Units(?![_\w(.])\b
I find that most matches that are not useful for my purpose are the matches that occur with strings within quotes, for example: “units”
I’d like to find a way to have the above expression not match when it finds a matching string that’s between quotes…
Thx in advance, this place rocks!
Assuming the quotes are always paired on a given line, you could create matches before and after for an even number of quotes, and make sure the whole line is matched:
this works because the fragment
will only match paired quotes. By adding the begin and end line anchors, it forces the quotes on the left and right side of your regex to be an even count.
This won’t handle embedded escaped quotes properly, and multiline quoted strings will be trouble.