{"id":60766,"date":"2022-07-20T18:42:48","date_gmt":"2022-07-20T18:42:48","guid":{"rendered":"https:\/\/merikebi.warrenmyers.com\/?p=60766"},"modified":"2022-07-20T18:42:48","modified_gmt":"2022-07-20T18:42:48","slug":"answer-by-warren-for-splunk-regex-matching-for-spring-batch-job-times","status":"publish","type":"post","link":"https:\/\/merikebi.warrenmyers.com\/?p=60766","title":{"rendered":"Answer by warren for Splunk regex matching for spring batch job times"},"content":{"rendered":"<p>If you pull the extra question marks from your regex, it runs as <a href=\"https:\/\/regex101.com\/r\/OwXYaO\/1\" rel=\"nofollow noreferrer\">expected<\/a>:<\/p>\n<pre><code>| rex field=_raw &quot;(?&lt;jobRunTimeMs1&gt;\\d+)ms|(?&lt;jobRunTimeS2&gt;\\d+)s(?&lt;jobRunTimeMs2&gt;\\d+)ms|(?&lt;jobRunTimeM3&gt;\\d+)m(?&lt;jobRunTimeS3&gt;\\d+)s(?&lt;jobRunTimeMs3&gt;\\d+)ms&quot;\n<\/code><\/pre>\n<p>Append a couple <a href=\"https:\/\/docs.splunk.com\/Documentation\/Splunk\/latest\/SearchReference\/eval#Extended_Examples\" rel=\"nofollow noreferrer\"><code>coalesce<\/code><\/a>s to bring them together, and drop the extraneous fields with <a href=\"https:\/\/docs.splunk.com\/Documentation\/Splunk\/latest\/SearchReference\/fields\" rel=\"nofollow noreferrer\"><code>fields<\/code><\/a>:<\/p>\n<pre><code>| eval ms=coalesce(ms1,ms2,ms3), s=coalesce(s2,s3), m=m3\n| fields - ms1 ms2 ms3 s2 s3 m3\n<\/code><\/pre>\n<p>However, I generally prefer to run sequential individual extractions (especially when the format may vary, as yours does) for readability (and not needing to do the <code>coalesce<\/code> step afterwards):<\/p>\n<pre><code>| rex field=_raw &quot;(?&lt;minutes&gt;\\d+)m\\d&quot;\n| rex field=_raw &quot;m?(?&lt;seconds&gt;\\d+)s&quot;\n| rex field=_raw &quot;s?(?&lt;milliseconds&gt;\\d+)ms&quot;\n<\/code><\/pre>\n<p>from User warren &#8211; Stack Overflow https:\/\/stackoverflow.com\/questions\/73055345\/splunk-regex-matching-for-spring-batch-job-times\/73056679#73056679<br \/>\nvia <a href=\"https:\/\/ifttt.com\/?ref=da&#038;site=wordpress\">IFTTT<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you pull the extra question marks from your regex, it runs as expected: | rex field=_raw &quot;(?&lt;jobRunTimeMs1&gt;\\d+)ms|(?&lt;jobRunTimeS2&gt;\\d+)s(?&lt;jobRunTimeMs2&gt;\\d+)ms|(?&lt;jobRunTimeM3&gt;\\d+)m(?&lt;jobRunTimeS3&gt;\\d+)s(?&lt;jobRunTimeMs3&gt;\\d+)ms&quot; Append a couple coalesces to bring them together, and drop the extraneous fields with fields: | eval ms=coalesce(ms1,ms2,ms3), s=coalesce(s2,s3), m=m3 | fields &#8211; ms1 ms2 ms3 s2 s3 m3 However, I generally prefer to run sequential individual &hellip;<br \/><a href=\"https:\/\/merikebi.warrenmyers.com\/?p=60766\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\">Continue reading <span class=\"screen-reader-text\">Answer by warren for Splunk regex matching for spring batch job times<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[991],"keyring_services":[],"class_list":["post-60766","post","type-post","status-publish","format-standard","hentry","category-blih","tag-stackexchange"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/60766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=60766"}],"version-history":[{"count":1,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/60766\/revisions"}],"predecessor-version":[{"id":60767,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/60766\/revisions\/60767"}],"wp:attachment":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=60766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=60766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=60766"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fkeyring_services&post=60766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}