Here is a regex that should work better:

(?!\w+\()[^\W\d]\w+


For example:

&gt;&gt;&gt; s = "funcname(arg, another_arg)*20 + second_func(arg1, arg2)"
&gt;&gt;&gt; re.findall(r'(?!\w+\()[^\W\d]\w+', s)
['arg', 'another_arg', 'arg1', 'arg2']


[^\W\d] is equivalent to [a-zA-Z_].

This uses the same logic as your regex, but by moving the lookahead to the beginning of the string you prevent a match like funcnam from funcname(...).  Here is a similar alternative:

[^\W\d]\w+(?![\w(])


Regex findall on a function definition. Want to match args but not function
I like to use OmniFETs for MOSFETs because they have internal protection against ESD so I am unlikely to damage them while handling and then when they don't work I don't have to wonder if it was damaged or I have a circuit mistake.  These are n-channel FETs, but now I need a p-channel FET.  I tried to find one Mouser and Digikey, but was unsuccessful.  Is there such a thing?

It would basically be a MOSFET and a diode in one package.  Other things like over-current and over-temperature protection would also be nice, but are less important.
