pexpect中的正则表达式使用

1 投票
1 回答
6052 浏览
提问于 2025-04-18 18:35

我想在一个pexpect的代码里放一个正则表达式,用来匹配包含IP地址的内容。但是下面这个代码不行,它总是超时。

index = process.expect(['192.168.0.1',pexpect.EOF,pexpect.TIMEOUT])

你知道我该怎么做吗?或者我应该写什么样的正则表达式呢?

1 个回答

2

你传给 expect 的第一个参数只能是一个IP地址。你应该按照文档的说明,传递一个正则表达式。

一个可以匹配IP地址的正则表达式大致是这样的:

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

(关于更多讨论的来源可以在这里找到)

注意,你不需要用Python的re库来编译这个正则表达式,expect会为你处理这个事情。

撰写回答