[英]Regular expression for isolating Comcast IP addresses in access log file for Apache
正則表達式解決方案是可能的,但是非常麻煩,因為子網掩碼不是8的倍數。您將需要編寫一個函數來處理列表並將其轉換為正則表達式。
最好使用regex來獲取IP地址並通過Comcast對IP地址列表中的IP地址進行測試。 一個簡單的實現就是一個集合,它允許您搜索小於參數的最接近的數字。
那是很多IP地址。
例如, 24.0.0.0/12
定義IP范圍24.0.0.1
- 24.15.255.255
。 要將這些數字范圍與正則表達式匹配 :
24: 24
0-15: [0-9]|1[0-5]
0-255: [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]
這使
(24)\.([0-9]|1[0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])
那僅是24.0.0.0/12
和293。
如果您確實想這樣做,則應編寫一個小腳本,以將每個IP范圍自動轉換為正則表達式。
另一種方法是匹配任何IP地址,並將其輸入到使用適當的模塊/框架/ API進行匹配的回調中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.