用于拾取字符串中的值的Python正则表达式


我将下面的输出存储在一个名为outping的变量中。我正在尝试使用python正则表达式将粗体的值提取到两个变量中。我将感谢你的帮助。谢谢
键入转义序列以中止。
向192.168.1.8发送100,100字节ICMP回应,超时为2秒:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

成功率为
100个
百分比(100/100),往返最小/平均/最大=1/3/
12个
女士
Switch1B#
以下是我正在尝试使用的代码

选择 | 换行 | 行号
  1. patt = re.compile(r"(Success rate)", re.MULTILINE)     
  2. m = re.search(patt, outping)
  3. print m.group(1)
  4.  
# 回答1


我会这样做,因为它是可以理解的,并且可以很容易地调试和/或分解。

选择 | 换行 | 行号
  1. test_string="Success rate is 100 percent (100/100), round-trip min/avg/max = 1/3/12 ms"
  2. if test_string.startswith("Success"):
  3.     test_list=test_string.split()
  4.     percent = ""
  5.     for ctr, word in enumerate(test_list):
  6.         if word == "percent":
  7.             percent = test_list[ctr-1]  ## previous word
  8.  
  9. print percent, test_list[-2].split("/")[-1] 

标签: python

添加新评论