簡體   English   中英

來自“已接收”電子郵件標頭的正則表達式匹配時間

[英]Regex match time from "Received" e-mail header

我正在嘗試匹配標頭以在圓形立方體的過濾器中設置。 我發現了另一個關於這個的問題,我嘗試了答案,但它不起作用。

regex 在 RegExr 中測試時有效,但 roundcube 只是拒絕保存它。

這是我的正則表達式: \\s*(?:Sun|Mon|Tue|Weds|Thu|Fri|Sat),\\s*\\d+\\s+\\w+\\s+\\d+\\s+(?:0[12345678]|1[89]|2[0123]):\\d\\d:\\d\\d

我在這個答案中找到的,根據我的需要進行了調整: RegEx to match time in "Received: by" e-mail header

它應該匹配18:00 - 09:00之間的18:00 - 09:00 ,它確實如此。

我不是正則表達式專家,所以有沒有人可以幫助我解決這個問題?

(?: ... )在篩選中無效。 \\s / \\d / \\w也可能不是。

請參閱:Sieve Email Filtering: Regular Expression ExtensionPOSIX ERE 規范其他篩選文檔

使用普通組和字符類:

[:space:]*(Sun|Mon|Tue|Weds|Thu|Fri|Sat),[:space:]*[:digit:]+[:space:]+[:alpha:]+[:space:]+[:digit:]+[:space:]+(0[12345678]|1[89]|2[0123]):[:digit:][:digit:]:[:digit:][:digit:]

(我用[:alpha:]替換了\\w但這可能不是你想要的。)

另外,請記住require ["regex"];

暫無
暫無

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

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