Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl/Regex解析字符串_Regex_Perl_Parsing - Fatal编程技术网

Perl/Regex解析字符串

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

我是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|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()
方法。