文本是
“我为10.9.14.5 my.supernova.javavpn.com打开https://my.javac.com/abcd/efgh/khj,以进行浏览和文本收集,并通过ssh email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)进行连接“
现在,从这段文本中,我的正则表达式将只接受10.9.14.5
的IP和my.supernova.javavpn.com
不是https://http://
我在下面试过了,但没有效果。
!\b(https:\/\/.*)|(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3})|([-a-zA-z0-9_.]+[.][c|C][o|O][m|M])
1条答案
按热度按时间wsewodh21#
根据你的示例数据,你可以使用这个正则表达式:
这匹配:
\b\d{1,3}(?:\.\d{1,3}){3}\b
:前后带有断字的IPv4地址(?<![\w@\/.-])[\w-]+(?:\.[\w-]+)+
:两级或多级域名(由a-zA-Z0-9_-
字符组组成,由.
分隔),* 不是 * 前面有集合中的字符或a-zA-Z0-9_/@.-
)regex101上的正则表达式演示
请注意,正则表达式的IPv4部分将匹配非法地址,例如:
300.999.567.432
;如果你不想这样,你可以使用正则表达式,比如这个question。