我正在寻找一个正则表达式来搜索我的python程序,找到foo
而不是bar
的所有行作为关键字参数传递给方法。我正在玩前瞻和后瞻性断言,但没有太多运气。
任何帮助?
由于
答案 0 :(得分:10)
如果您要查找的字符串foo
和另一个不能出现的字符串bar
,您可以使用此字符:
^(?!.*bar).*foo
创建一个完全符合您所有要求的正则表达式非常困难,因为Python代码不是常规语言,但希望您能够以此为出发点来获得足够满足您需求的东西。
答案 1 :(得分:4)
在之后{/ 1}} 在这些场景中的前瞻似乎总是对我有用。阅读它对我来说也更有意义。
^
(?!.*bar)^.*foo
答案 2 :(得分:1)
您也可以使用正则表达式执行此操作:
for line in file:
if "foo" in line and "bar" not in line:
#do something