Skip to main content
 首页 » 编程设计

Python 使用正则表达式提取字符串的出现

2025年05月04日36youxin

我需要一个 python 正则表达式来从行中提取所有出现的字符串。

例如,

line = 'TokenRange(start_token:5835456583056758754, end_token:5867789857766669245, rack:brikbrik0),EndpointDetails(host:192.168.210.183, datacenter:DC1, rack:brikbrikadfdas), EndpointDetails(host:192.168.210.182, datacenter:DC1, rack:brikbrik1adf)])' 

我想提取所有包含机架 ID 的字符串。我对 reg ex 很糟糕,所以当我查看 python 文档但找不到 re.findAll 或一些类似的 regex 表达式的正确用法时。 有人可以帮我处理正则表达式吗? 这是我需要的输出:[brikbrik0,brikbrikadfdas, brikbrik1adf]

请您参考如下方法:

您可以捕获 rack: 之后的字母数字:

>>> re.findall(r"rack:(\w+)", line) 
['brikbrik0', 'brikbrikadfdas', 'brikbrik1adf']