2013-03-06 32 views
-2

需要一个正则表达式来获得邻居的价值观和上/下从下表需要一个正则表达式表达得到的值在一个表中的列

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 

需要在这两列下得到任何值。

高级谢谢你的帮助。

问候

Riyas

+0

**向我们展示您到目前为止所尝试的内容。**不要描述它,但编辑问题并粘贴到实际代码中。然后告诉我们什么没有工作。当你尝试时发生了什么?你得到不正确的结果了吗?你有没有得到结果?如果结果不正确,是什么使它们不正确?你想要什么呢?你有没有得到任何正确的结果?如果是这样,他们是什么?不要让我们猜测。 – 2013-03-06 22:50:39

+0

@AndyLester:我正在通过Java脚本尝试它。但是它花费了太多时间。所以想到尝试从正则表达式。我对此完全陌生,对于正则表达式我不知道。这就是为什么在这里问。 – user2091573 2013-03-07 13:22:57

+0

见上:**向我们展示你到目前为止所尝试过的。** – 2013-03-07 15:19:30

回答

0

...我还在学习正则表达式,所以我敢肯定有更好的办法110%,但我想出了这个,似乎这样的伎俩:

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

这取决于Neighbor是您的第一列,而Up/Down是您的第9列。 逻辑之中:

  • 比赛Neighbor为排队,直到第一个空格开头
  • 有8个以上空格用言语了,直到你的下一个拍摄组
  • 比赛UpDown
  • 有另一个空间,然后一组字符直到行尾或字符串结束

记得设置multi-line

希望这会有所帮助。

相关问题