I'm trying to capture the term ISomething only when it isn't immediately  preceded by a full stop . however my search is capturing the preceding letter or space. I'm using javascript style regex (vscode search to be exact).
My aim is to replace ISomething with Namespace.ISomething without touching existing namespaces.
My search sample
Api.Resources.Things.Bits.ISomething     //doesn't match
something : ISomething
List<ISomething>
something:ISomething
isomething                               //doesn't match
My regex
[^\.](ISomething)
My matches, the first captures the whitespace, the second the arrow, third the bracket.
  ISomething
 <ISomething
 :ISomething
How (and why) can i just get the word ISomething in all of the above? 
 
    


 
     
     
    