Splunk Search

How to use regex command to match a certain amount of characters in a field?

showard22
New Member

I want to use Splunk to match on a field name for accounts with exactly 4 characters, all numbers and letters.

I keep trying:

index=corp sourcetype=importantlogs | fields Account EventType | regex Account="[a-zA-Z0-9]{4}"

I feel like I'm overlooking something super simple and I've been stuck on this for a few hours. Any outsider thoughts?

0 Karma

DalJeanis
Legend

woodcock has a good answer, once you change the period to a more limited character class (\w is the simplest) For the same effect of keeping only accounts that are exactly 4 "word" characters, you could also use...

| where like(Account, "^\w{4}$"
0 Karma

woodcock
Esteemed Legend

You did not anchor it; try this:

index=corp sourcetype=importantlogs | fields Account EventType | regex Account="^.{4}$"
0 Karma

DalJeanis
Legend

Need a smaller character class, only letters and numbers.

0 Karma

woodcock
Esteemed Legend

A simpler match character is more efficient and worth the infinitesimally small risk of a false positive.

0 Karma
Get Updates on the Splunk Community!

Fall Into Learning with New Splunk Education Courses

Every month, Splunk Education releases new courses to help you branch out, strengthen your data science roots, ...

Super Optimize your Splunk Stats Searches: Unlocking the Power of tstats, TERM, and ...

By Martin Hettervik, Senior Consultant and Team Leader at Accelerate at Iver, Splunk MVPThe stats command is ...

How Splunk Observability Cloud Prevented a Major Payment Crisis in Minutes

Your bank's payment processing system is humming along during a busy afternoon, handling millions in hourly ...