The details will depend on what exactly you want to do, but negative lookarounds might help. Certain regular expression languages, including PCRE support this. You can activate PCREs in
grep with the
-P switch, so depending on the specific pattern you are looking for, you might be able to do something clever with these but it is very unlikely to be worth the effort.
Having read your update however, there are much better ways of doing it.
grep offers the
Skip files whose base name matches GLOB (using wildcard
matching). A file-name glob can use *, ?, and [...] as
wildcards, and \ to quote a wildcard or backslash character
So, you could simply do
grep -Inr TEXT --exclude='*.svn' dir/