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!

Data Management Digest – May 2026

Welcome to the May 2026 edition of Data Management Digest!   As your trusted partner in data innovation, the ...

Index This | What is feather-light but cannot be held long?

May 2026 Edition  Hayyy Splunk Education Enthusiasts and the Eternally Curious!   We’re back with this ...

.conf26 Registration is Live: Secure Your Early Bird Pass Now

  Lock in Your Spot: Registration Open for .conf26 in Denver Hello Splunkers, I have exciting news! Your ...