如何捕捉在特定字符组合前发现的两位数?

2024-10-02 02:35:58 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是从Telnet套接字获取的类似表格的文本

-> iosFdShow 
 fd name                                     drv
  3 /tyCo/0                                    1 in out err
  4 (socket)                                   7   
  5 (socket)                                   7   
  6 (socket)                                   7   
  7 (socket)                                   7   
  8 (socket)                                   7   
  9 (socket)                                   7   
 10 (socket)                                   7   
 11 logfile                                    2   
 12 /doc0/Log/log.txt                          3   
 13 /doc0/CONFIG_A/System                      3   
 14 /doc0/CONFIG_A/Entity                      3   
 15 /doc0/CONFIG_A/Network                     3   
 16 /doc0/SW_B/fpga.rbf                        3   
 17 (socket)                                   7   
 18 (socket)                                   7   
 19 /tyCo/1                                    1   
 20 (socket)                                   7   
 21 (socket)                                   7   
 22 (socket)                                   7   
 23 (socket)                                   7   
 24 (socket)                                   7   
 25 (socket)                                   7   
 26 (socket)                                   7   
 27 (socket)                                   7   
 30 (dev deleted)tLogin3fedc10               n/a   
 31 (socket)                                   7   
 34 (dev deleted)tLogin4238110               n/a   
 35 (dev deleted)tShellRem73924472           n/a   
 36 (dev deleted)tLogin4238110               n/a   
 39 (dev deleted)tShellRem73924472           n/a   
 40 (dev deleted)tLogin4436b28               n/a   
 41 (dev deleted),)ְ,)׀,)א                n/a   
 42 (dev deleted)tShellRem71667576           n/a   
 43 (dev deleted)tLogin4238110               n/a   
 44 (dev deleted)   S0®ָכr                n/a   
 45 (dev deleted)tLogin4238110               n/a   
 46 (dev deleted)tLogin4355560               n/a   
 47 (dev deleted)tShellRem73924472           n/a   
 48 (dev deleted)tShellRem73924472           n/a   
 49 (dev deleted)tLogin4355560               n/a   
 50 (dev deleted)tLogin4355560               n/a   
 51 (dev deleted)tShellRem73924472           n/a   
 52 (dev deleted)tShellRem73924472           n/a   
 53 (dev deleted)tShellRem73924472           n/a   
 54 (dev deleted)tLogin4355560               n/a   
 55 (dev deleted)tLogin4355560               n/a   
 56 (dev deleted)                            n/a   
 57 (dev deleted)tLogin4355560               n/a   
 58 (dev deleted)tLogin4355560               n/a   
 59 (dev deleted)tLogin4355560               n/a   
 60 (dev deleted)tLogin4355560               n/a   
 61 (dev deleted)tLogin4355560               n/a   
 62 (dev deleted)ַ@e
Jh                n/a   
 63 (dev deleted)tLogin4355560               n/a   
 64 (dev deleted)tLogin4355560               n/a   
 65 (dev deleted)tLogin4355560               n/a   
 66 (dev deleted)כ8                        n/a   
 67 (dev deleted)   S0®ָכr                n/a   
 68 (dev deleted)                            n/a   
 69 (dev deleted)                            n/a   
 70 (dev deleted)                            n/a   
 71 (dev deleted)                            n/a   
 72 (dev deleted)tLogin4355560               n/a   
 73 (dev deleted)tLogin4355560               n/a   
 74 (dev deleted)tLogin4355560               n/a   
 75 (dev deleted)tLogin4355560               n/a   
 76 (dev deleted)tLogin4355560               n/a   
 77 (dev deleted)   S0®ָכr                n/a   
 78 (dev deleted)   S0®ָכr                n/a   
 79 (dev deleted)tLogin4238110               n/a   
 80 (dev deleted)   S0®ָכr                n/a   
 81 (dev deleted)tShellRem77561720           n/a   
 82 (dev deleted)tLogin4355560               n/a   
 83 (dev deleted)tLogin4355560               n/a   
 84 (dev deleted)tShellRem77561720           n/a   
 85 (dev deleted)tShellRem77561720           n/a   
 86 (dev deleted)tLogin4355560               n/a   
 87 (dev deleted)6  ¨2Lץָe               n/a   
 88 (dev deleted)״
ך`‎ןְ                n/a   
 89 (dev deleted)6  ¨2Lץָe               n/a   
 90 (dev deleted)ַ@e
Jh                n/a   
 91 (dev deleted)tShellRem77561720           n/a   
 92 (dev deleted)6  ¨2Lץָe               n/a   
 93 (dev deleted)ַ@e
Jh                n/a   
 94 (dev deleted)                            n/a   
 95 (dev deleted)ַ@e
Jh                n/a   
 96 (dev deleted)                            n/a   
 97 (dev deleted)״
ך`‎ןְ                n/a   
 98 (dev deleted)                            n/a   
 99 (dev deleted)״
ך`‎ןְ                n/a   
value = 100 = 0x64 = 'd'
->

我知道,在输入'iosFdShow'命令之后,我将得到一个类似于表的结果,结果是行(string)“value=100=0x64='d'”。我不知道的是这个表中的行数,以及这个表是否包含其他行(我的框中的调试行)

我怎样才能抓住最后一行的索引?在本例中,索引是99

编辑:

我发现下面的情况(最后一行有两个数字,这使它更难捕捉索引)

-> iosFdShow
 fd name                                     drv
  3 /tyCo/0                                    1 in out err
  4 (socket)                                   7
  5 (socket)                                   7
  6 (socket)                                   7
  7 (socket)                                   7
  8 (socket)                                   7
  9 (socket)                                   7
 10 (socket)                                   7
 11 logfile                                    2
 12 /doc0/Log/log.txt                          3
 13 /doc0/CONFIG_A/System                      3
 14 /doc0/CONFIG_A/Entity                      3
 15 /doc0/CONFIG_A/Network                     3
 16 /doc0/SW_B/fpga.rbf                        3
 17 (socket)                                   7
 18 (socket)                                   7
 19 /tyCo/1                                    1
 20 (socket)                                   7
 21 (socket)                                   7
 22 (socket)                                   7
 23 (socket)                                   7
 24 (socket)                                   7
 25 (socket)                                   7
 26 stdio_pty_16bd7d8.M                        6
 27 (socket)                                   7
 28 (socket)                                   7
 29 stdio_pty_16bd7d8.S                        5
value = 100 = 0x64 = 'd'

在这两种情况下,捕获表中最后一行索引的正则表达式是什么


Tags: devconfigvaluesocketfds0jhdeleted
1条回答
网友
1楼 · 发布于 2024-10-02 02:35:58

试试这个正则表达式:

\d+(?=\D*?value = 100 = 0x64 = 'd')

Click for Demo

说明:

  • \d+-匹配1+个数字的出现次数
  • (?=\D*?value = 100 = 0x64 = 'd')正向向前看,确保当前位置后面有0+个非数字出现,尽可能少,后面是字符串value = 100 = 0x64 = 'd'

相关问题 更多 >

    热门问题