Python 2.7 pexpect:如何匹配字符串

Python 2.7 pexpect:如何匹配字符串,python-2.7,pexpect,Python 2.7,Pexpect,我正在尝试在Linux系统上自动化CLI菜单,在很多情况下,我必须根据条件提供CLI菜单 我有提示:“,我正在尝试匹配(111.222.333.444)下面的字符串(在child.before中打印) 如果字符串匹配,那么我需要发送另一个命令(sendlind)。但是,我不确定如何使用PythonPexpect实现这一点。如果任何机构能够解释或提供一个例子,这将是一个很好的帮助 您可以使用regexp(import“re”library)作为压缩代码,根据预期格式检查字符串。此方法不足以验证IP

我正在尝试在Linux系统上自动化CLI菜单,在很多情况下,我必须根据条件提供CLI菜单

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

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

您可以使用regexp(import“re”library)作为压缩代码,根据预期格式检查字符串。此方法不足以验证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;
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;