这个正则表达式([a-z0-9]{1,4}:+){3,5}[a-z0-9]{1,4}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3
}几乎只匹配IP地址(v4和v6)而没有其他工作,但是不幸的是,对于下面的文本和类似的文本,它也以粗体显示字段:
来自mx.google.com的mail.example.com(example.com。[213.239.250.131]),其ESMTPS ID为xc4si15480310lbb.82.2 014.10.26.06 .16.58,用于(version = TLSv1.2 cipher = ECDHE-RSA-AES128-GCM -SHA256位= 128/128); 2014年10月26日,星期日,06:16:58 -0700(PDT)
接收:具有Microsoft SMTP服务器ID 14.2.347.0的mail.supershuttle.com(192.168.20.110)从ssservices1-1(192.168.20.142); 2015年4月21日,星期二
收到:具有Microsoft SMTP(TLS)服务器ID 14.2.347.0的mail.supershuttle.com(192.168.20.110)从ssservices1-1(192.168.20.142); 2015年4月21日,星期二
接收:从plug.mysitehosted.com(plug.mysitehosted.com [10.248.1.153])(使用的TLSv1与密码DHE-RSA-AES256-SHA)由0.0.0.0:2500(TREX / 5.0.19); 2014年3月11日,星期二,格林尼治标准时间
省略这些匹配的最佳方法(我将使用Python)是什么?尽管在第一种情况下,两个字符之前没有直接在文本“ id”之前。
([a-z0-9]{1,4}:+){3,5}[a-z0-9]{1,4}|(?<!id )(?<!\.)\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b(?!\.)
您可以尝试一下。通过此操作,lookaheads
我们确保ip地址之前或之后都没有.
。请参阅演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句