regex REG EXp不是http https,而是fqdn和ip

7ivaypg9  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(75)

文本是
“我为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])
wsewodh2

wsewodh21#

根据你的示例数据,你可以使用这个正则表达式:

\b\d{1,3}(?:\.\d{1,3}){3}\b|(?<![\w@\/.-])[\w-]+(?:\.[\w-]+)+

这匹配:

  • \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

相关问题