Perl/Regex解析字符串
我是Perl新手,在分析traceroute的行时有点困惑。这是我面临挑战的典型输出Perl/Regex解析字符串,regex,perl,parsing,Regex,Perl,Parsing,我是Perl新手,在分析traceroute的行时有点困惑。这是我面临挑战的典型输出 3 someURL.net (184.106.126.128) 0.579 ms someURL.net (184.106.126.124) 0.742 ms 0.719 ms 注意第一和第二路由如何使用不同的IP地址这将改变;e、 例如,有时啤酒花会像这样使用: 3 someURL.net (184.106.126.128) 0.579 ms 0.742 ms 0.719 ms 3|ur
3 someURL.net (184.106.126.128) 0.579 ms someURL.net (184.106.126.124) 0.742 ms 0.719 ms
注意第一和第二路由如何使用不同的IP地址这将改变;e、 例如,有时啤酒花会像这样使用:
3 someURL.net (184.106.126.128) 0.579 ms 0.742 ms 0.719 ms
3|url~ip~time|url~ip~time|url~ip~time
…或,每个跳跃可能有不同的路线,或它们可能都是相同的。我想在Perl中使用一些正则表达式等来格式化输出,如下所示:
3 someURL.net (184.106.126.128) 0.579 ms 0.742 ms 0.719 ms
3|url~ip~time|url~ip~time|url~ip~time
我不确定是否应该以某种方式循环遍历单个单词,或者是否使用正则表达式更容易完成所有操作。任何解决方案或提示,不胜感激 在perl中使用traceroute模块不是更容易吗?是否有任何理由需要解析原始跟踪路由输出?(如果只是作为学习正则表达式的练习,当然……但是?)
这就是我要使用的。在perl中使用traceroute模块不是更容易吗?是否有任何理由需要解析原始跟踪路由输出?(如果只是作为学习正则表达式的练习,当然……但是?) 这就是我要用的。这个正则表达式有效吗
((\w+?\.\w+?)\ (\(\d+?\.\d+?\.\d+?\.\d+?\))(\ \d+?\.\d+?\ ms)+\ )+
URL IP TIME
这个正则表达式行吗
((\w+?\.\w+?)\ (\(\d+?\.\d+?\.\d+?\.\d+?\))(\ \d+?\.\d+?\ ms)+\ )+
URL IP TIME
那么示例输入的输出是这样的?3 | someURL.net~184.106.126.128~0.579 ms | someURL.net~184.106.126.124~0.742 ms | someURL.net~184.106.126.124~0.719ms@MetaEd几乎。我没有说清楚时间。这是正确的,只是没有“ms”,所以示例输入的输出是这样的?3 | someURL.net~184.106.126.128~0.579 ms | someURL.net~184.106.126.124~0.742 ms | someURL.net~184.106.126.124~0.719ms@MetaEd几乎。我没有说清楚时间。这是正确的,除非没有“ms”,谢谢@mjbnz。这是一个有趣的工具(我是Perl新手)。我安装了它,正在玩它一点。我现在还不清楚这个工具是否可以提供与每个跃点相关的输出,比如ip和每个跃点的时间。请看一下
hop\u query\u host()
和hop\u query\u time()
方法。谢谢@mjbnz。这是一个有趣的工具(我是Perl新手)。我安装了它,正在玩它一点。我现在还不清楚这个工具是否可以提供与每个跃点相关的输出,比如ip和每个跃点的时间。请看一下hop\u query\u host()
和hop\u query\u time()
方法。