python - 匹配包含特定单词的所有行的正则表达式
问题描述
我想匹配包含单词“Freezer”的每一行。关键是该行上的所有内容都应该匹配,除了 Freezer 这个词。例如,根据我们下面的示例数据,第一行应返回“Apple”,仅不包括关键字 Freezer。第 3 行和第 5 行也是如此。我已经使用这个正则表达式选择了这条线:
^.*Freezer.*
它选择了第 1 行、第 3 行和第 5 行,但无法弄清楚如何在比赛中排除“Freezer”。
Apple Freezer - True
Laptop 15.4" 120GB HD - False
Orange Freezer - Banana Mango Left AC - True
Prince Yellow Bed - False
Grapes Eyes - Fridge/Freezer - True
谢谢!
解决方案
这可以完成工作:
regex = r"^.+?(?=Freezer)"
解释:
^ : beginning of line
.+? : 1 or more any charcter but newline, not greedy
(?= : start positive lookahead, zero-length assertion that make sure we have after
Freezer : literally
) : end lookahead
推荐阅读
- javascript - 我无法弄清楚为什么 HandleChange 不起作用?
- authentication - Adobe Connect 管理员无法登录
- python - 如何在 tkinter 中更改多个级别的 windows 图标?
- javascript - Js过滤条件如果存在
- sql - Hue impala中的SQL创建函数语法错误
- c# - 没有 AllowSynchronousIO=true 的流 zip 文件
- c# - C# Winforms - 读取 csv 文件的问题
- javascript - 使用 tocbot 时如何修复 CSS 网格中的标题和侧边栏
- javascript - 使用 p5.js 在图像上摆动形状
- python - Google 上传某些文件失败