zoukankan      html  css  js  c++  java
  • python 判断ip是否正确 re学习

    官网链接  https://docs.python.org/zh-cn/3/library/re.html

    re 判断ip是否正确

    def check_ip(ipAddr):
      compile_ip=re.compile('^(1d{2}|2[0-4]d|25[0-5]|[1-9]d|[1-9]).(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d).(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d).(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d)$')
      if compile_ip.match(ipAddr):
        return True
      else:
        return False
    

      

    re 判断用户输入的域名是否正确

    def is_valid_domain(domain):
        pattern = re.compile(
            r'^(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|'
            r'([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|'
            r'([a-zA-Z0-9][-_.a-zA-Z0-9]{0,61}[a-zA-Z0-9])).'
            r'([a-zA-Z]{2,13}|[a-zA-Z0-9-]{2,30}.[a-zA-Z]{2,3})$'
        )
        return True if pattern.match(domain) else False
    

      

    re判断用户输入的url是否正确

    regex = re.compile(
            r'^(?:http|ftp)s?://' # http:// or https://
            r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?.)+(?:[A-Z]{2,6}.?|[A-Z0-9-]{2,}.?)|' #domain...
            r'localhost|' #localhost...
            r'd{1,3}.d{1,3}.d{1,3}.d{1,3})' # ...or ip
            r'(?::d+)?' # optional port
            r'(?:/?|[/?]S+)$', re.IGNORECASE)
    if re.match(regex, domain) is not None:
            return True
    

     re 取出用户输入url的域名或者ip

    def get_domain(doamin):
        domain_new = re.findall('[^/">]{3,50}.com|[^/">]{4,50}.cn|[^/"><]{3,50}.net.cn', doamin)
        # domain_new=re.findall('[^/"><.]{3,20}.com|[^/"><.]{4,}.cn|[^/"><.]{3,20}.net.cn', doamin)
        try:
            # print(domain_new,'new',doamin)
            if not domain_new:
                reg = re.compile(r'(d{1,3}.d{1,3}.d{1,3}.d{1,3})')
                item = re.findall(reg, doamin)
                if not item:
                    return False
                return item[0]
            return domain_new[0]
        except Exception:
            return False
    

      

  • 相关阅读:
    简爱 灵魂所在
    charles抓取http/https
    Class.forName()用法
    ArrayList源码剖析
    java中的多线程
    分布式负载均衡缓冲系统,如何快速定位到是那个服务器
    maven依赖jar包时版本冲突的解决
    简单工厂模式设计(java反射机制改进)
    Fiddler 抓包工具使用详解
    Fiddler 使用
  • 原文地址:https://www.cnblogs.com/zhangshijiezsj/p/15033799.html
Copyright © 2011-2022 走看看