You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Splunk技术问询:如何提取含空格字段并统计Container ID计数

提取带空格字段并统计Container ID计数的解决方案

正则提取方案

针对你给出的示例字符串格式03 Container ID - ALL_ELIGIBLE_STG_RTAIN Offer Set ID,可以用以下正则精准提取目标Container ID:

(?<=^\d+ Container ID - )[A-Z_]+(?= Offer Set ID$)

如果需要提取完整的Container ID - ALL_ELIGIBLE_STG_RTAIN片段,正则可以调整为:

(?<=^\d+ )Container ID - [A-Z_]+(?= Offer Set ID$)

正则说明

  • (?<=^\d+ Container ID - ):正向断言,确保匹配位置前是「开头数字+空格+固定前缀Container ID - 」
  • [A-Z_]+:匹配由大写字母和下划线组成的Container ID(如果ID包含其他字符,可调整为[\w-]+等)
  • (?= Offer Set ID$):正向断言,确保匹配位置后是「空格+固定后缀Offer Set ID」且到字符串结尾

提取+统计的代码示例(Python)

下面是完整的提取并生成统计表格的代码:

import re
from collections import defaultdict

# 模拟输入数据
input_lines = [
    "03 Container ID - ALL_ELIGIBLE_STG_RTAIN Offer Set ID",
    "01 Container ID - ALL_ELIGIBLE_STG_RTAIN Offer Set ID",
    "02 Container ID - TEST_STG_CONTAINER Offer Set ID",
    "04 Container ID - TEST_STG_CONTAINER Offer Set ID",
    "05 Container ID - DEV_CONTAINER Offer Set ID"
]

# 编译正则表达式
container_pattern = re.compile(r'(?<=^\d+ Container ID - )[A-Z_]+(?= Offer Set ID$)')

# 统计每个Container ID的出现次数
counts = defaultdict(int)
for line in input_lines:
    match_result = container_pattern.search(line)
    if match_result:
        counts[match_result.group()] += 1

# 输出统计表格
print("| Container ID | 计数 |")
print("|--------------|------|")
for cid, cnt in counts.items():
    print(f"| {cid} | {cnt} |")

输出表格示例

Container ID计数
ALL_ELIGIBLE_STG_RTAIN2
TEST_STG_CONTAINER2
DEV_CONTAINER1

如果你的字符串格式有变动(比如前缀/后缀不固定),可以调整正则的断言部分,比如用Container ID - (.+?) Offer Set ID捕获中间内容,适配更灵活的场景。

内容的提问来源于stack exchange,提问作者venkat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:16:08