Splunk Search

Field Extraction -- Break Field at Explicit Character

himynamesdave
Contributor

All - I need someone to bring me sanity with a regex I am trying to write.

Essentially I want to capture everything after "username=" up to either "&" or "\s"

Two sample events:

Ex. 1

username=test%40bmcm%2ecom&version=5%2e4%2e0

Ex. 2

username=test%40bmcm%2ecom next_field

Right now my regex looks like this:

username=(?P[^&|^s]+)

Though I can get it to break on spaces, the regex will not break on "&". Can someone tell me where I'm going wrong, I'm sure it's embarrassingly simple!

Thanks!

0 Karma
1 Solution

cpetterborg
SplunkTrust
SplunkTrust

Try:

username=(?P<username>[^\s&]+)

From regex101.com:

https://regex101.com/r/pNNiop/1

View solution in original post

0 Karma

woodcock
Esteemed Legend

You are confusing character class (which does not need boolean joiners) with string literals (which do need boolean joiners); This should work:

(?ms)username=(?<username>[^&\s]+)
0 Karma

cpetterborg
SplunkTrust
SplunkTrust

Try:

username=(?P<username>[^\s&]+)

From regex101.com:

https://regex101.com/r/pNNiop/1

0 Karma
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!

At .conf26, Don’t Just See What’s Next. Help Shape It at Innovation Labs.

Long before a new capability reaches the keynote stage, it begins as an idea waiting to be tested. At ...

Forwarder Topology Guidance: Intermediate HF vs Intermediate UF

Why Universal Forwarders Should Not Be Used as Intermediate Forwarders A practical Splunk forwarding topology ...

Data Management Digest – August 2026

Data Management Digest   Welcome to the August 2026 edition of Data Management Digest! August was a big month ...