我正在爲定義其虛擬域映射的Postfix編寫正則表達式。我想要捕獲除了兩個域的所有子域。如何在正則表達式中使用if-then?
假設我的域名是example.com和兩個排除子域是,郵件的,我寫了下面的正則表達式:
(?(?!mail|in).+\.example.com)
它應該認識到whatever.example。 com但不是in.example.com或mail.example.com。
它在RegExr中工作,但它在Postfix和Ruby中不起作用。我假設我使用if-then錯誤,那麼正確的語法是什麼?還有其他選擇嗎?
據我所知,Ruby不支持條件正則表達式。不確定Postfix。比較表:http://www.regular-expressions.info/refflavors.html – eldarerathis
你不需要if/then,只是一個負面的lookahead。語法幾乎完全相同,所以我不知道Postifx是否更有可能識別它,但值得一試:'(?!mail | in)。+ \。example.com' – Chriszuma
@Chriszuma謝謝,但在這種情況下,它承認* ail.example.com *。 – arikfr