Perl / Regex для разбора строки - PullRequest
0 голосов
/ 26 октября 2011

Я новичок в Perl и немного озадачен анализом линий для трассировки маршрута.Это типично для вывода, с которым мне приходится сталкиваться.

 3  someURL.net (184.106.126.128)  0.579 ms someURL.net (184.106.126.124)  0.742 ms  0.719 ms

Обратите внимание, как 1-й и 2-й маршруты используют разные IP-адреса. Это изменится ;например, иногда прыжки будут использовать все то же самое, как это:

3  someURL.net (184.106.126.128)  0.579 ms  0.742 ms  0.719 ms

... или , каждый прыжок может иметь свой маршрут, или , которые они могли бывсе будет одинаково.Я хотел бы использовать некоторое регулярное выражение и т. Д. В Perl для форматирования вывода следующим образом:

3|url~ip~time|url~ip~time|url~ip~time

Я не уверен, должен ли я каким-то образом перебирать отдельные слова или это легче сделатьвсе это с регулярным выражением.Любые решения или подсказки приветствуются.

Ответы [ 2 ]

5 голосов
/ 26 октября 2011

Не будет ли проще использовать модуль traceroute для perl? Есть ли какая-то причина, по которой вам нужно проанализировать необработанный вывод трассировки? (Если только в качестве упражнения для изучения регулярных выражений, конечно .. но?)

Net :: Traceroute будет то, что я бы использовал.

0 голосов
/ 26 октября 2011

будет ли это регулярное выражение работать

((\w+?\.\w+?)\ (\(\d+?\.\d+?\.\d+?\.\d+?\))(\ \d+?\.\d+?\ ms)+\ )+
     URL                  IP                    TIME
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...