【发布时间】:2009-04-25 20:00:37
【问题描述】:
我的路由器支持 telnet 会话来配置我的路由器,我想用 c# 制作一个应用程序,将控制台输出解析为有用的东西。
编辑:行用“\n\r”分隔,没有使用\t字符,所有内容都被隔开
示例:
bridge configuration for "bridge" :
OBC : dest : Internal
Connection State: connected Retry: 10
Priority Tagging: Disabled
Port: OBC PortNr: 0 PortState: forwarding Interface: up
Multicast filter: disabled Dynamic VLAN : disabled
IGMP snooping : enabled
VLAN: Default VLAN: default Ingressfiltering: disabled Acceptvlanonly: disabled
VLAN: Priority: disabled IP Prec: disabled Priority: 0 Regeneration table: 0 1 2 3 4 5 6 7
RX bytes: 1978767922 frames: 21288686
TX bytes: 481256491 frames: 16224065 dropframes: 13671
ethport1 : dest : ethif1
Connection State: connected Retry: 10
Priority Tagging: NA (destination switch interface)
Port: ethport1 PortNr: 1 PortState: forwarding Interface: up
Multicast filter: disabled Dynamic VLAN : disabled
IGMP snooping : enabled
VLAN: Default VLAN: default Ingressfiltering: disabled Acceptvlanonly: disabled
VLAN: Priority: disabled IP Prec: disabled Priority: 0 Regeneration table: 0 1 2 3 4 5 6 7
RX bytes: 44045 frames: 0
TX bytes: 12618 frames: 0 dropframes: 0
谁能给我一些提示? 我的第一个想法是一个正则表达式,但我不知道如何在这种规模上做到这一点。
【问题讨论】:
-
如果我们知道您是否需要这些信息的全部或部分信息,将会有所帮助。
-
同一行中的项目之间的分隔符是什么——制表符、多个空格、一个或多个空格?
-
大多数脚本语言都附有简单的解析器;看看 Perl、Python 和 PHP 甚至可以找到一些。或者如果你想用 C 语言来做,也许是 flex-bison 组合?