Python 在字符串中搜索值
我有一个这样的字符串:
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