Python 在字符串中搜索值

1 投票
3 回答
2580 浏览
提问于 2025-04-16 08:17

我有一个这样的字符串:

STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END

我想获取 curr_items 的值,到目前为止我得到了

out = telnet.read_until("END")
req = re.search("curr_items", out).group(0).split()[0]

这段代码返回了 curr_items,那我该怎么获取它的值呢?

谢谢

3 个回答

1

当然可以!请看下面的内容:

在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像是在给程序设置一个规则,只有当满足这个规则时,程序才会做出反应。

比如说,如果你在玩游戏,只有当你的分数达到一定的数值,才能解锁下一个关卡。这种情况在编程中也很常见,我们称之为“条件语句”。

条件语句就像是一个判断器,它会检查某个条件是否成立。如果成立,程序就会执行相应的代码;如果不成立,程序就会跳过这些代码,继续执行后面的部分。

这样做的好处是,我们可以让程序更加灵活,能够根据不同的情况做出不同的反应。就像你在生活中,根据天气决定穿什么衣服一样。

希望这个解释能帮助你更好地理解条件语句的概念!

try:
    req = int(re.search("(?<=curr_items)\s*([\d]*)", out).group(0))
except:
    # No value was found.
    req = defaultValue
1

这段代码的意思是:在一个叫做`out`的文本中,寻找包含“curr_items”后面跟着一串数字的部分。具体来说,它会找到这个部分,然后提取出数字。这里的`re.search`是用来查找的,`group(0)`是获取找到的整个匹配结果,接着用`split()`把这个结果分开,最后取出第二个部分,也就是那个数字。

6

你可以在你的正则表达式中添加一个捕获组,用来匹配你想要的值:

>>> int(re.search("curr_items (\d+)", out).group(1))
0

撰写回答