【问题标题】:pexpect: How to match the stringpexpect:如何匹配字符串
【发布时间】:2016-09-17 15:55:15
【问题描述】:

我正在尝试在 Linux 系统上自动化 CLI 菜单,在该系统中,我必须根据条件提供很多点。

我有': '的提示,我正在尝试匹配(111.222.333.444)下面的字符串(在child.before中打印),

 111.222.333.444
:

如果字符串匹配,那么我需要发送另一个命令(sendlind)。但是我不确定如何使用 python pexpect 来实现这一点。如果任何机构可以解释或提供一个例子,那将是很好的帮助。

【问题讨论】:

    标签: python-2.7 pexpect


    【解决方案1】:

    您可以使用正则表达式(导入“re”库)来检查字符串是否符合预期格式。此方法不足以验证 IP 是否有效。 检查 IP 是否可实现的最简单方法是使用 ping。

    import re;
    # fmt1 accepts only IPs with 3-digit groups: 123.123.123.123
    fmt1='^([0-9]{3}\.){3}[0-9]{3}$';
    
    # fmt2 accepts IPs with 1-3 digit groups e.g. 13.123.1.1
    fmt2='^([0-9]{1,3}\.){3}[0-9]{1,3}$';
    
    exp=re.compile(fmt1);
    
    def chk(s):
        x=exp.match(s);
        if x:
            print(s, ' = match');
            return 1;
        else:
            print(s, ' = mismatch');
            return 0;
    

    【讨论】:

      猜你喜欢
      • 2021-09-02
      • 2017-10-28
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 2021-04-28
      相关资源
      最近更新 更多