Review and fix regular expressions of the form /^foo|bar$/.
Replace regular expressions with simple string comparisons where
possible.
Use '(?:subregexp)' instead of '(subregexp)' wherever possible.
'dlls/gdi' does not have a win16drv subdirectory anymore so simplify
regular expressions accordingly.

diff --git a/tools/winapi/winapi_extract b/tools/winapi/winapi_extract
index 9781995..7497ef2 100755
--- a/tools/winapi/winapi_extract
+++ b/tools/winapi/winapi_extract
@@ -75,14 +75,14 @@
 	    /^$/ && next;         # skip empty lines
 
 	    if($header)  {
-	        if(/^\d+|@/) {
+	        if(/^(?:\d+|@)/) {
 		    $header = 0;
 		    $lookahead = 1;
 		}
 		next;
 	    }
 
-	    if(/^(@|\d+)\s+stdcall\s+(\w+)\s*\(\s*([^\)]*)\s*\)/) {
+	    if(/^(\d+|@)\s+stdcall\s+(\w+)\s*\(\s*([^\)]*)\s*\)/) {
 		my $ordinal = $1;
 		my $name = $2;
 		my @args = split(/\s+/, $3);
@@ -559,7 +559,7 @@
              foreach my $external_name ($winapi->all_functions_in_module($module)) {
 		 my $external_calling_convention =
 		     $winapi->function_external_calling_convention_in_module($module, $external_name);
-		 if($external_calling_convention !~ /^forward|stub$/) {
+		 if($external_calling_convention !~ /^(?:forward|stub)$/) {
 		     if($module_pseudo_stub{$module}{$external_name}) {
 			 $external_calling_convention = "pseudo_stub";
 		     }