import re
regex = re.compile(r"\[(?P<stanza_name>[0-9a-zA-Z-_\ ]*?)\](?P<text>.*?)\n\n", flags=re.DOTALL)
test_str = ("[inv_records]\n"
"search = index=apm_main eventtype=da_host sourcetype=snpm:ipact:kvp2\n\n"
"[equipment-InterfaceStatsLogRecord]\n"
"search = eventtype=sam_events (ds=equipment.InterfaceStatsLogRecord OR ds=equipment.InterfaceAdditionalStats)\n\n"
"[inv_avc]\n"
"search = eventtype=inv_records source=\"/data/snpm/splunk/inventory/*_AVC_*\" ACCESS_SERVICE_TECH_TYPE=\"*\"\\\n\n\n"
"[inv_cvc]\n"
"search = eventtype=inv_records source=\"/data/snpm/splunk/inventory/*SNPM_CVC_*\"\n\n"
"[inv_device_links]\n"
"search = eventtype=inv_records source=\"/data/snpm/splunk/inventory/*_DEVICE_LINKS_*\"\\\n\n\n"
"[inv_nni]\n"
"search = eventtype=inv_records source=\"/data/snpm/splunk/inventory/*_NNI_*\" NOT source=\"*IPACT_SNPM_NNI_LINKS*\"\\\n\n\n"
"[inv_rsp_cvc_interconnect_svc]\n"
"search = eventtype=inv_records source=\"/data/snpm/splunk/inventory/*_RSP_CVC_INTERCONNECT_SVC_*\"\\\n\n\n"
"[inv_sites_poi]\n"
"search = eventtype=inv_records source=\"/data/snpm/splunk/inventory/*_SITES_POI_*\"\\\n\n\n"
"[service-CombinedForwardingPlaneQueueGroupServiceIngressLogRecord]\n"
"search = eventtype=sam_events ds=service.CombinedForwardingPlaneQueueGroupServiceIngressLogRecord\n\n"
"[sam_events]\n"
"search = index=apm_main eventtype=da_host sourcetype=snpm:sam:kvp*\n\n"
"[service-CombinedQueueGroupEgressLogRecord]\n"
"search = eventtype=sam_events ds=service.CombinedQueueGroupEgressLogRecord\n\n"
"[service-ServiceEgressOctetsLogRecord]\n"
"search = eventtype=sam_events ds=\"service.ServiceEgressOctetsLogRecord\"\n\n"
"[summary_snr_histogram]\n"
"search = (index=\"summary_apm_snr\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"SNR UTIL\"\n\n"
"[summary_cvc_util]\n"
"search = (index=\"summary_apm_cvc\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"CVC UTIL\"\n\n"
"[savvi_log]\n"
"search = index=apm_main eventtype=da_host (source=\"/var/log/savvi/*\" OR source=\"/opt/titan/log/*\")\n\n"
"[summary_data]\n"
"search = (index=\"apm_snpm\" eventtype=search_head) search_name=\"*summary*\"\n\n"
"[summary_ipact]\n"
"search = (index=\"summary_apm_ipact\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"IPACT_CVC\"\n\n"
"[summary_ipact_avc]\n"
"search = (index=\"summary_apm_ipact\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"IPACT_AVC\"\n\n"
"[summary_cvc_bh]\n"
"search = (index=\"summary_apm_cvc\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"CVC BH\"\n\n"
"[summary_enni_group]\n"
"search = (index=\"summary_apm_enni\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"ENNI UTIL GRP\"\n\n"
"[summary_enni_port]\n"
"search = (index=\"summary_apm_enni\" eventtype=search_head) OR (eventtype=\"summary_data\") snpm_type=\"ENNI UTIL PRT\"\n\n"
"[sam_enni_port]\n"
"search = (eventtype=sam_events ds=\"equipment.InterfaceAdditionalStatsLogRecord\" displayedName=\"Port*\" NOT (suspect=true) )\n\n"
"[sam_enni_group]\n"
"search = (eventtype=sam_events ds=\"equipment.InterfaceAdditionalStatsLogRecord\" displayedName=\"Lag*\" NOT (suspect=true) )\n\n"
"[summary_sanitized]\n"
"search = ( eventtype=summary_cvc_util inboundUtilizationPcnt>= 0 inboundUtilizationPcnt< 200 ) OR\\\n"
"( eventtype=summary_snr_histogram utilPcnt>=0 utilPcnt<200 ) OR\\\n"
"( eventtype=summary_enni* (rx_utilPcnt>=0 rx_utilPcnt<200 ) (tx_utilPcnt>=0 tx_utilPcnt<200 )) OR\\\n"
"( eventtype=summary_cvc_util NOT inboundUtilizationPcnt=* ) OR\\\n"
"( eventtype=summary_snr_histogram NOT utilPcnt=* ) OR\\\n"
"( eventtype=summary_enni* (NOT rx_utilPcnt=*) OR (NOT tx_utilPcnt=*))\n\n"
"[sam_cvc_downstream_1_1]\n"
"search = eventtype=sam_events ds=service.CombinedForwardingPlaneQueueGroupServiceIngressLogRecord\n\n"
"[sam_cvc_downstream_n_1]\n"
"search = eventtype=sam_events ds=\"service.ServiceEgressOctetsLogRecord\" svcId=* (policerId=6) NOT (statMode=no-stats)\n\n"
"[sam_cvc_upstream_1_1]\n"
"search = eventtype=sam_events ds=\"service.ServiceEgressOctetsLogRecord\" sapId=\"lag-*\" NOT statMode=\"no-stats\"\n\n"
"[sam_cvc_upstream_n_1]\n"
"search = eventtype=sam_events ds=\"service.ServiceEgressOctetsLogRecord\" queueId=6 sapId=\"lag*\"\n\n"
"[summary_filter]\n"
"search = ( eventtype=summary_cvc_util inboundUtilizationPcnt < 0 OR inboundUtilizationPcnt> 200 ) OR\\\n"
"( eventtype=summary_snr_histogram utilPcnt < 0 OR utilPcnt >200 ) OR\\\n"
"( eventtype=summary_enni* (rx_utilPcnt < 0 OR rx_utilPcnt>200 ) OR (tx_utilPcnt<0 tx_utilPcnt>200 ))\n\n"
"[inv_nni_links]\n"
"search = eventtype=inv_records source=\"*IPACT_SNPM_NNI_LINKS*\"\n\n"
"[sam_ltss]\n"
"priority = 5\n"
"search = index=apm_main eventtype=ltss_da_host ds=service.ServiceEgressOctetsLogRecord\n\n"
"[ltss_inv_sites_poi]\n"
"search = eventtype=ltss_inv_records source=\"*_SITES_PO*\"\\\n\n\n"
"[ltss_inv_rsp_cvc_interconnect_svc]\n"
"search = eventtype=ltss_inv_records source=\"*_RSP_CVC_INTERCONNECT_SVC_*\"\\\n\n\n"
"[ltss_inv_records]\n"
"priority = 5\n"
"search = index=apm_main sourcetype = snpm:ipact:kvp2 eventtype=ltss_da_host\n\n"
"[ltss_inv_nni_links]\n"
"search = eventtype=ltss_inv_records source=\"*IPACT_SNPM_NNI_LINKS*\"\n\n"
"[ltss_inv_nni]\n"
"search = eventtype=ltss_inv_records source=\"*IPACT_SNPM_NNI*\" NOT source=\"*IPACT_SNPM_NNI_LINKS*\"\\\n\n\n"
"[ltss_inv_device_links]\n"
"search = eventtype=ltss_inv_records source=\"*IPACT_SNPM_DEVICE_LINKS*\"\\\n\n\n"
"[ltss_inv_cvc]\n"
"search = eventtype=ltss_inv_records source=\"*IPACT_SNPM_CVC*\"\n\n"
"[ltss_inv_avc]\n"
"search = eventtype=ltss_inv_records source=\"*IPACT_SNPM_AVC*\" ACCESS_SERVICE_TECH_TYPE=\"Satellite\"\\\n\n\n"
"[ltss_summary_ipact_avc]\n"
"search = eventtype=ltss_summary_data index=\"summary_apm_ltss_ipact\" snpm_type=\"IPACT_AVC_LTSS\"\n\n"
"[ltss_summary_cvc_util]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss_cvc snpm_type = \"LTSS CVC UTIL\" snpm_version=\"V1.3\"\n\n"
"[ltss_summary_avc_util_daily]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss_avc_daily snpm_type = \"LTSS AVC UTIL DAILY\" snpm_version=\"V1.5.1\"\n\n"
"[ltss_summary_avc_util]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss_avc snpm_type = \"LTSS AVC UTIL\" snpm_version=V1.5\n\n"
"[ltss_summary_cvc_util_breach]\n"
"priority = 5\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss_cvc snpm_type=\"CVC UTIL BREACH\"\n\n"
"[ltss_summary_short_term]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss snpm_type = \"LTSS SHORT TERM\"\n\n"
"[ltss_summary_fsd_fsr]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss snpm_type=\"LTSS FSD FSR DAILY\"\n\n"
"[ltss_summary_data]\n"
"search = (index=summary_apm_ltss* (eventtype=search_head))\n\n"
"[ltss_summary_beam_util]\n"
"search = eventtype=ltss_summary_data snpm_type = \"LTSS BEAM UTIL\" snpm_version=\"V1.5.2\"\n\n"
"[search_head]\n"
"search = (host=svsss0000003np-heavy OR host=svsss0000203np-heavy)\n\n"
"[da_host]\n"
"search = (host=svapm0000004np)\n\n"
"[ltss_da_host]\n"
"search = (host=svapm0000004np)\n\n"
"[sam_aas]\n"
"priority = 5\n"
"search = index=apm_main host=svapm0000008ee sourcetype=\"snpm:sam:kvp2\" ds=\"service.ServiceEgressOctetsLogRecord\"\n\n"
"[aas_summary_enni_group]\n"
"priority = 5\n"
"search = (index=\"summary_apm_enni\" eventtype=search_head) OR (eventtype=\"aas_summary_data\") snpm_type=\"AAS ENNI UTIL GRP\"\n\n"
"[aas_avc_status_daily]\n"
"search = index=apm_snpm snpm_type=\"AAS_IPACT_AVC_STATUS\"\n\n"
"[snpm_inv_avc]\n"
"search = eventtype=snpm_inv_records source=\"*IPACT_SNPM_AVC*\"\n\n"
"[snpm_inv_cvc]\n"
"search = eventtype=snpm_inv_records source=\"*IPACT_SNPM_CVC*\"\n\n"
"[snpm_inv_rsp_cvc_interconnect_svc]\n"
"search = eventtype=snpm_inv_records source=\"*_RSP_CVC_INTERCONNECT_SVC_*\"\n\n"
"[snpm_inv_nni]\n"
"search = eventtype=snpm_inv_records source=\"*IPACT_SNPM_NNI*\" NOT source=\"*IPACT_SNPM_NNI_LINKS*\"\n\n"
"[snpm_inv_records]\n"
"search = index=apm_main sourcetype=snpm:ipact:kvp2 eventtype=da_host\n\n"
"[snpm_inv_sites_poi]\n"
"search = eventtype=snpm_inv_records source=\"*_SITES_PO*\"\n\n"
"[snpm_summary_ipact_avc]\n"
"search = index=\"summary_apm_ipact\" snpm_info=\"Ipact Summary for AVC SNPM\" (eventtype=search_head)\n\n"
"[aes_summary_ipact_avc]\n"
"search = index=\"summary_apm_ipact\" snpm_info=\"Ipact Summary for AVC SNPM\" ACCESS_SERVICE_TECH_TYPE=\"Fibre\" (eventtype=search_head)\n\n"
"[aes_avc_status]\n"
"search = index=\"summary_apm_ipact\" snpm_type=\"SNPM_IPACT_AVC_STATUS\" ACCESS_SERVICE_TECH_TYPE=\"Fibre\" (eventtype=search_head)\n\n"
"[aes_summary_ipact_cvc]\n"
"search = index=\"summary_apm_ipact\" snpm_type = \"IPACT_CVC_NNI_AES\" (eventtype=search_head)\n\n"
"[aes_cvc_status]\n"
"search = index=\"summary_apm\" snpm_type=\"IPACT_CVC_STATUS_AES\" (eventtype=search_head)\n\n"
"[aes_nni_status_summary]\n"
"search = index=\"summary_apm\" snpm_type=\"NNI_STATUS_AES\" (eventtype=search_head)\n\n"
"[aes_inni_summary_util_discard_status_combined]\n"
"search = index=\"summary_apm\" snpm_type=\"inni_summary_combined_aes\" (eventtype=search_head)\n\n"
"[aes_inni_summary]\n"
"search = index=\"summary_apm\" snpm_type=\"inni_group_summary_aes\" (eventtype=search_head)\n\n"
"[aes_enni_summary]\n"
"search = index=\"summary_apm\" snpm_type=\"enni_group_summary_aes\" (eventtype=search_head)\n\n"
"[sam_inni_group]\n"
"search = (eventtype=sam_events ds=\"equipment.InterfaceAdditionalStatsLogRecord\" displayedName=\"Lag*\" NOT (suspect=true) )\n\n"
"[aas_sam_inni_group]\n"
"search = (eventtype=aas_sam_events ds=\"equipment.InterfaceAdditionalStatsLogRecord\" displayedName=\"Lag*\" NOT (suspect=true) )\\\n\n\n"
"[aas_sam_events]\n"
"priority = 5\n"
"search = index=apm_main eventtype=da_host sourcetype=snpm:sam:kvp*\n\n"
"[aas_sam_enni_group]\n"
"priority = 5\n"
"search = eventtype=aas_sam_events ds=\"equipment.InterfaceAdditionalStatsLogRecord\" displayedName=\"Lag*\" NOT (suspect=true)\n\n"
"[aes_egress_drop]\n"
"search = eventtype=sam_events ds=\"Service.NetworkEgressOctetsLogRecord\"\n\n"
"[aes_egress_discard]\n"
"search = index=\"summary_apm\" snpm_type=\"aes_egress_discard\"\n\n"
"[ltss_summary_fsd_fsr_enhance]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss snpm_type=\"LTSS FSD FSR DAILY ENHANCE\"\n\n"
"[ltss_summary_short_term_enhance]\n"
"search = eventtype=ltss_summary_data index=summary_apm_ltss snpm_type = \"LTSS SHORT TERM ENHANCE\"\n\n"
"[aes_summary_ipact_avc_device]\n"
"search = index=\"summary_apm_ipact\" snpm_info=\"Ipact Summary for AVC SNPM & Device Links\" ACCESS_SERVICE_TECH_TYPE=\"Fibre\" (eventtype=search_head)\n\n"
"[aes_avc_util_discard_summary]\n"
"search = index=\"summary_apm_avc\" snpm_type =\"AES AVC UTIL & DISCARD ALL\" (eventtype=search_head)\n\n"
"[ltss_summary_ipact_avc_30mintest]\n"
"search = eventtype=ltss_summary_data index=\"summary_apm_ltss_ipact\" snpm_type=\"IPACT_AVC_LTSS_30MIN\"\n")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html