Splunk Search

'How do I use regex in Splunk to pull out numbers and decimals and not letters;?

ESPrioleau
New Member

For instance: the results have 01.2.3 and ABC5. How do I only pull out 01.2.3?

Tags (2)
0 Karma

jpolvino
Builder

Sounds like you're looking for something that matches "starts with a number, followed by 1 or more numbers and periods." If so, then this might work:

| rex "^\d[\d\.]+"

If the string you're trying to extract is part of a larger field value, then:

| rex ".*(?<token>\d[\d\.]+)"

If you have an event with and without the text you are trying to extract, please post it. Often, the text before and after what you're trying to extract can help make the rex more accurate.

0 Karma

somesoni2
Revered Legend

Assuming you want to filter results if a field value contains one or more alphanumeric character (and keep the one with numbers and decimal), then try something like this:

your current search
| regex fieldName!=".+[A-z].+"
0 Karma

solarboyz1
Builder

The following regex :

| rex "(?<new_fieldname>\d+\.\d+\.\d+)"

Should produce new_fieldname=01.2.3

\d -> only matches number characters
\. -> matches a literal period (.)

0 Karma
Get Updates on the Splunk Community!

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...

Shape the Future of Splunk: Join the Product Research Lab!

Join the Splunk Product Research Lab and connect with us in the Slack channel #product-research-lab to get ...