-3

需要一个正则表达式来从下表中获取 Neighbor 和 Up/Down 的值

Neighbor V  AS  MsgRcvd MsgSent TblVer  InQ OutQ    Up/Down State/PfxRcd    
87.101.215.1    4   35753   9200    9196    3025    0   0   5d19h   400
172.16.144.113  4   65000   9384    9186    3025    0   0   5d19h   528

预期结果是

Neighbor  Up/Down

87.101.215.1 5d19h                 

172.16.144.113  5d19h

需要在这两列下获取任何值。

提前感谢您的帮助。

问候

里亚斯

4

1 回答 1

0

...我仍在学习正则表达式,所以我 110% 确定有更好的方法,但我想出了这个似乎可以解决问题的方法:

(?<Neighbor>.*?)(?:\s.*?){8}(?<UpDown>.*?)(?:\s.*?)(?:\r\n|\Z)

这取决于Neighbor您的第一列并且Up/Down是您的第 9 列这一事实。逻辑是:

  • 匹配Neighbor作为行首直到第一个空格
  • 在您的下一个捕获组之前还有 8 个带单词的空格
  • 匹配UpDown
  • 有另一个空格,然后是一组字符,直到行尾或字符串结尾

记得设置multi-line

希望这可以帮助。

于 2013-03-06T22:38:44.120 回答