簡體   English   中英

為什么IN不評估我的正則表達式?

[英]Why does IN not evaluate my regular expression?

使用Python 3.x,我正在解析日志文件,並且在大多數行中,只有三個關鍵字(INFO,ERROR或WARN)之一。

我正在定義正則表達式,以查看一行是否包含以下任一單詞:

INFO|ERROR|WARN

我確定這是解決此問題的正確方法,但是它似乎沒有用。 有人知道我在這里想念的嗎?

我只是通過打印來檢查正則表達式是否在行中:

Properties.py
    status = "INFO|ERROR|WARN"

Runner.py
    import properties as p
    import re
    line = "[time stamp] INFO [other information]"
    print(p.status in line)
    line = "[time stamp] ERROR [other information]"
    print(p.status in line)

輸出:

False
False

它只打印偽造的東西。

您需要實際調用一個或多個功能re (未使用in )使用正則表達式引擎:

print(bool(re.search(p.status, line)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM