1
的ESMTPSA ID是一個字符串,它看起來像:正則表達式:收緊IPv4正則表達式以忽略ESMTPSA ID?
w12sm4743917pbs.68.2015.06.04.16.21.51
它可以出現在收稿日期:從標題中的電子郵件,如下面的例子:
Received: from [192.168.0.140] (n11649196059.netvigator.com. [116.49.196.59])
by mx.google.com with ESMTPSA id w12sm4743917pbs.68.2015.06.04.16.21.51
for <[email protected]>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Thu, 04 Jun 2015 16:21:52 -0700 (PDT)
我有下面的正則表達式,其在提取的IPv4 addess從這樣的標題效果很好:
d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
問題是,它也提取ESMTPSA ID的一大塊:015.06.04.16。見行動here。
我們如何收緊正則表達式以便它只提取IPv4地址?注意:地址是而不是總是在方括號中,如上例所示。我正在使用Python,我知道我可以使用ipaddress
模塊來驗證所有匹配,但對於我來說首先不匹配會更方便。
它檢查ip前後的不是數字而不是「。」 –
我看到了擴展正則表達式的邏輯,但它不適用於我(既不是你原來的更新):https://regex101.com/r/yP2rG2/1當你說修剪一個符號,你指的是什麼符號? – Pyderman
這個正則表達式將在ip之前匹配一個simbol,並且在 –