簡體   English   中英

正則表達式在短語之前檢查單詞

[英]Regex to check for words before phrase

我正在嘗試創建一個正則表達式,如果某些單詞在短語之前沒有出現,則該表達式僅會返回true。 例如,我希望它對這句話“停止向我發送電子郵件”返回“真”,而對“如果有庫存則向我發送消息”返回“假”。如果沒有,則停止給我發送電子郵件”。 這是我所能獲得的,它不起作用^(?=(^(?:(?!(\\bif\\b)|(\\or\\b)).)\\bstop emailing\\b))會如果我能讓它只看6個字以內的字,那也很棒。

另外,如果可能的話,我還要檢查是否提出了問題,如果是,則返回false。 我試圖添加類似(?!\\?)(^(?:(?!(\\. when\\b)|(\\. what\\b)|(\\. why\\b)|(\\. where\\b)|(\\. how\\b)|(\\. are\\b)).)+$)到上面,但沒有成功。

謝謝。

您可以將re.match與條件運算符一起使用,如下所述。

pattern = "stop\s+emailing\s+me"
result = True if re.match(pattern,content,re.M) else False

另一個替代解決方案是將字符串拆分為,

string = "stop emailing me"
list = string.split()
True if list[0] = 'stop' and list[1] = 'emailing' and list[2] = 'me' else False  

暫無
暫無

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

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