Splunk Search

How to replace string using rex with partial matched string?

LearningGuy
Motivator

How to replace string using rex with partial matched string?
Thank you for your help.
For example:
I tried to replace "::" (double colon) with ":0:"  (colon zero colon) if it the previous characters contain ":" followed by "1 to 3 characters" 
| rex mode=sed field=ip "s/:.{1,3}::/:.{1,3}:0:/g"   => this does not work because it will literally replace it with
":.{1,3}:0:"   instead of retaining the matched strings

Before
a0:1::21
b0:1c::21
c0:a13::23

After
a0:1:0:21
b0:11:0:21
c0:111:0:23

Labels (1)
0 Karma
1 Solution

richgalloway
SplunkTrust
SplunkTrust

Characters to be retained should be enclosed in a capture group and that group referenced in the replacement text.

| rex mode=sed field=ip "s/:(.{1,3})::/:\1:0:/g" 
---
If this reply helps you, Karma would be appreciated.

View solution in original post

LearningGuy
Motivator

It worked!!  Thank you..    

richgalloway
SplunkTrust
SplunkTrust

Characters to be retained should be enclosed in a capture group and that group referenced in the replacement text.

| rex mode=sed field=ip "s/:(.{1,3})::/:\1:0:/g" 
---
If this reply helps you, Karma would be appreciated.
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Automating Threat Operations and Threat Hunting with Recorded Future

    Automating Threat Operations and Threat Hunting with Recorded Future June 29, 2026 | Register   Is your ...

Keep the Learning Going with the New Best of .conf Hub

Hello Splunkers, With .conf26 getting closer, there’s already a lot of excitement building around this year’s ...

Splunk Community Badges!

  Hey everyone! Ready to earn some serious bragging rights in the community? Along with our existing badges ...