I'm looking for a regex to search my python program to find all lines where foo
, but not bar
, is passed into a method as a keyword argument. I'm playing around with lookahead and lookbehind assertions, but not having much luck.
Any help?
Thanks
Having the ^
after the lookaheads in these scenarios always seems to work better for me. Reading it makes more sense to me, too.
(?!.*bar)^.*foo
this has a foo # pass
so does this has a foo # pass
i can haz foo # pass
but i haz foo and bar! # fail
If you have a string foo
that you want to find and another string bar
that must not be present, you can use this:
^(?!.*bar).*foo
Creating a regular expression that exactly meets all your requirements is very difficult as Python code is not a regular language, but hopefully you should be able to use this as a starting point to get something good enough for your needs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With