当我通过SSH进入CM,运行命令并开始阅读CLI输出时,我得到了以下结果:
# * A lot more output above but been removed *
terminal_output = """
[24;1H [79b[1GCommand: disp sys cust<<[23;0H[0;7m [79b[1G[0m[24;0H [79b[1G[1;0H[0;7m [79b[1G[0m[2;0H [79b[1G[3;1H[0J7[1;1H[0;7mdisplay system-parameters customer-options [0m8[1;65H[0;7mPage 1 of 12[0m[2;33HOPTIONAL FEATURES[4;8HG3 Version: [4;20HV20 [4;50HSoftware Package: [4;68HEnterprise [5;10HLocation: [5;20H2[6;10HPlatform: [6;20H28 [5;51HSystem ID (SID): [5;68H9990093751 [6;51HModule ID (MID): [6;68H1 [8;60HUSED[9;29HPlatform Maximum Ports: [9;53H 81000[9;60H 436[10;35HMaximum Stations: [10;53H 135[10;60H 110[11;27HMaximum XMOBILE Stations: [11;53H 41000[11;60H 0[12;17HMaximum Off-PBX Telephones - EC500: [12;53H 135[12;60H 2[13;17HMaximum Off-PBX Telephones - OPS: [13;53H 135[13;60H 40[14;17HMaximum Off-PBX Telephones - PBFMC: [14;53H 135[14;60H 0[15;17HMaximum Off-PBX Telephones - PVFMC: [15;53H 135[15;60H 0[16;17HMaximum Off-PBX Telephones - SCCAN: [16;53H 0[16;60H 0[17;22HMaximum Survivable Processors: [17;53H 313[17;62H 1[22;9H(NOTE: You must logoff & login to effect the permission changes.)[2;50H[0m
"""
这是大量的ANSI转义码(我认为?),这使得输出不太可读,但无论如何,我试图从上面的文本得到以下:
最大桩号:一百三十五
我知道从我的理解,这将需要一个正则表达式。正则表达式,我尝试使用,但没有工作:
r'Maximum Stations:\s*(\d+)(\d+)'
r'Maximum Stations: \d+'
如果有人知道如何过滤掉这些ANSI字符代码,使它们不会出现在最终输出中,那就太好了。
- 谢谢-谢谢
1条答案
按热度按时间pdkcd3nj1#
您可以尝试以下操作
它会产生三个组,第一个组包含最大站数文本,然后再有两个组,每个组包含您要捕获的数量。您必须将这些组组合起来才能得到最终输出。
我不知道这对于您的应用程序是否足够通用。