-3

我正在编写一个驱动程序来处理来自我 ssh 进入的终端的特定类型的提示。

驱动程序中的代码正在寻找从设备接收到的特定模式,以了解何时发送附加命令或退出等。

驱动程序中的代码将模式作为正则表达式。我已经为正则表达式尝试了许多不同的模式组合来处理这个提示'(Cisco Controller) >',但无济于事。我尝试转义括号'\(Cisco Controller\)\s*>',尝试使用原始字符串 r'\(Cisco Controller\)\s*>',并且尝试了多种其他组合,但我通常以错误“不平衡括号”或“虚假转义字符”告终。为什么我不能让正则表达式引擎接受这种模式?

4

1 回答 1

1

我认为您发布的字符串的原始版本没有任何问题......当在字符串上进行测试时,'(Cisco Controller) > Command to execute would be here'它似乎匹配得很好。

Python 2.6.8 (unknown, Jun  9 2012, 11:30:32)
[GCC 4.5.3] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> regex = re.compile(r'\(Cisco Controller\)\s*>')
>>> match = regex.search('(Cisco Controller) > Command to execute would be here')
>>> match
<_sre.SRE_Match object at 0x7ff3e720>
>>>
于 2012-07-18T12:58:47.830 回答