Here is what I just tried in my own environment with a massive enterprise code base with some good success (found no false positives but definitely found valid cases):

&lt;img(?![^&gt;]*\balt=)[^&gt;]*?&gt;


What's going on in this search:


find the opening of the tag
look for the absence of zero or more characters that are not the closing bracket while also …
Checking for the absence of of a word that begins with "alt" ("\b" is there for making sure we don't get a mid-word name match on something like a class value) and is followed by "=", then …
look for zero or more characters that are not the closing bracket
find the closing bracket


So this will match:

&lt;img src="foo.jpg" class="baltic" /&gt;


But it won't match either of these:

&lt;img src="foo.jpg" class="baltic" alt="" /&gt;
&lt;img src="foo.jpg" alt="I have a value."&gt;


Using regular expressions to find img tags without an alt attribute
What does it mean that a protocol realizes "strong mutual authentication"? And What does it mean that a protocol realizes "weak mutual authentication"? Can you define them formally ? 

I have found a definition for "strong mutual authentication" (not formal):


  Strong mutual authentication requires not only matching conversation records: all principals’ records of the content and the order of all messages must coincide, but also matching views of the intent: all principals’ views of the purported sources and the intended destinations of all messages should also coincide.

