maximus_vj,
My opinion is that B will be the more efficient because, as the regex engine works its way through the source text, it has a 'simple' test to make: is this a '>' or not. I would also prefer to use this pattern (as long as it does the job) because it is easier to read.
Option A would make the regex engine (probably - it depends on the engine you are using) walk through checking everything, saving its state as it goes, and then backtracking at some point if/when it has gone too far. I realise that the non-greedy ".*?" will help in this situation, but I really don't know how much.
If you are starting to think of things like performance, then I would suggest reading Friedl's excellent book "Mastering Regular Expressions" as it gives a lot of background into how the various regex engines work though this type of pattern, and more/less efficient techniques.
I make a comment earlier "as long as it does the job" because option B will stop at the first '>' which may or may not be the terminating character that matches the initial '<img'. (Actually option A will do the same - so it may have the same 'problem' if there is one).
Susan